小编Way*_*yne的帖子

将0作为命令行参数传递的问题

我刚刚注意到perl5(5.10.0)的奇怪行为,当我将0作为命令行参数传递给脚本时,它将其赋值给变量.我遇到的问题是,如果我在我的脚本中给变量一个大于0的默认值,比如1,那么我可以传递除0之外的任何值来覆盖默认值1.

以下是我使用的'test.pl'的代码:

#!/usr/bin/perl -w  
my $x = shift || 1;  
print "x is $x\n";  
Run Code Online (Sandbox Code Playgroud)

以下是我测试时的命令和输出:

$ ./test.pl 2  
x is 2  
$ ./test.pl 0  
x is 1  
Run Code Online (Sandbox Code Playgroud)

如果有人能说清楚,我会很感激.谢谢.WWL

perl command-line-arguments

9
推荐指数
3
解决办法
800
查看次数

标签 统计

command-line-arguments ×1

perl ×1