当我运行以下没有参数的script.pl脚本时:
./script.pl
我没有收到消息
No arg
。为什么?如何识别$param
是空值还是空值,与ksh的[ -z
一样?#!/usr/bin/perl
my $param = $ARGV[0];
if ($param = "") {
print No arg;
} else {
print arg: $param;
}
最佳答案
因为它不是Perl。您从哪里学到的语法?太不对劲了。
$param = ""
向$param
分配一个空字符串,这不是您想要的。 undef
。 eq
operator。 print "No arg"
容易得多:
#!/usr/bin/perl
if (@ARGV) {
print 'have parameters';
} else {
print q{don't have parameters};
}
关于perl - perl +识别参数是否为ARG中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3341703/