在 perl 脚本中确定一个值是否为数字
Determine if a value is numeric in perl script
我的 perl 脚本采用第一个命令行参数并将“$numlines”设置为它。然后我有一个 if 语句应该确定 numlines 是否是数字(如果它是数字我想稍后使用这个值)但是即使我输入一个数值作为我的第一个命令行参数,我的脚本总是跳过 if 语句无论如何。
我的代码:
my $line;
my $counter = 0;
my @list;
my $numlines = shift @ARGV;
if ( $numlines !~ (/^-?\d+$/) ) {
print "First argument is a number\n";
while ($line=<>) {
push(@list, $line);
}
@list = reverse @list;
foreach (@list) {
if ( $counter == $numlines ) {
last;
}
print "$_";
$counter++;
}
exit 0;
}
条件应该反过来
if ($numlines =~ /^-?\d+$/)
我的 perl 脚本采用第一个命令行参数并将“$numlines”设置为它。然后我有一个 if 语句应该确定 numlines 是否是数字(如果它是数字我想稍后使用这个值)但是即使我输入一个数值作为我的第一个命令行参数,我的脚本总是跳过 if 语句无论如何。
我的代码:
my $line;
my $counter = 0;
my @list;
my $numlines = shift @ARGV;
if ( $numlines !~ (/^-?\d+$/) ) {
print "First argument is a number\n";
while ($line=<>) {
push(@list, $line);
}
@list = reverse @list;
foreach (@list) {
if ( $counter == $numlines ) {
last;
}
print "$_";
$counter++;
}
exit 0;
}
条件应该反过来
if ($numlines =~ /^-?\d+$/)