【发布时间】:2011-03-31 13:20:38
【问题描述】:
当我将 0 作为命令行参数传递给脚本时,我刚刚注意到 perl5 (5.10.0) 的一个奇怪行为,该脚本将其分配给一个变量。我遇到的问题是,如果我在脚本中给变量一个大于 0 的默认值,比如 1,那么我可以传递除 0 之外的任何值来覆盖默认值 1。
以下是我使用的'test.pl'的代码:
#!/usr/bin/perl -w
my $x = shift || 1;
print "x is $x\n";
以下是我测试时的命令和输出:
$ ./test.pl 2
x is 2
$ ./test.pl 0
x is 1
如果有人能阐明这一点,我将不胜感激。谢谢。 ww
【问题讨论】:
标签: perl command-line-arguments