我一直在搜索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);
最佳答案
从man perlintro
:
因此,如果您传递0个参数,则$#ARGV将为-1,因为数组中没有元素。如果您传递1个参数(如您的示例中所示),则$#ARGV将为0。
关于perl - 为什么$#ARGV为0?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17559768/