我一直在搜索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/

10-14 13:13