当我将0作为命令行参数传递给脚本时,我刚刚注意到了perl5(5.10.0)的一个奇怪行为,该脚本将它分配给一个变量。我遇到的问题是,如果我给我的脚本中的变量默认值大于0,比如说1,那么我可以传递除0之外的任何值来覆盖默认值1.传递0作为命令行参数的问题
以下是“test.pl”我用:
#!/usr/bin/perl -w
my $x = shift || 1;
print "x is $x\n";
以下是命令,当我测试了它。OUPUTS:
$ ./test.pl 2
x is 2
$ ./test.pl 0
x is 1
我会很感激,如果任何人都可以在这个线索。谢谢。 wwl
不要忘了'使用5.10.0;' – 2010-08-18 13:17:50
我这是在一个相当最新版本的Perl引入的感觉,你可以说哪一个?然后我会+1。 – 2010-08-18 13:17:53
@gbacon:谢谢。由于我们中有相当一部分人仍在使用早期版本,您能否在您的回答中提及此问题,请eugene y?谢谢。 – 2010-08-18 13:19:07