我一直在通過Perl資源進行搜索,而且我看不到錯在哪裏。我敢肯定,我失去了一些東西明顯,因爲當我給你
my $gArgc = $#ARGV;
但叫我的程序perl pkTkPtBdTkNo.pl test.txt
$#ARGV
等於0,我想不通爲什麼。
#! /usr/bin/perl -w
use strict;
my $gArgc = $#ARGV;
my $input_line;
my $bad_input;
print($gArgc);
die ("Usage pkTkPtBdTkNo.pl input-line")
if(0 == $gArgc);
$input_line = $ARGV[0];
$bad_input = ($input_line =~ /\"\d+\D+\d*\",/);
print($bad_input);
'$#ARGV'是數組元素的計數,所以這裏是@ARGV的計數。當數組從perl中的0開始時,它是0。如果你沒有將任何參數傳遞給你的腳本,它會返回-1 – KeepCalmAndCarryOn
僅僅是迂腐,它不是@ARGV中元素的數量,而是最後一個元素的索引,這就是爲什麼它是0.你應該把你的答案放在所以它可以被提高(考慮到這一點後)。 –