我在Perl中尝试过这个例子.有人可以解释为什么这是真的吗?
if (defined sdf) { print "true"; }
Run Code Online (Sandbox Code Playgroud)
它打印true.
sdf可以是任何名称.
另外,如果定义了sdf函数并且它返回0,则它不会打印任何内容.
print (sdf); 不打印sdf字符串但是
if (sdf eq "sdf")
{
print "true";
}
Run Code Online (Sandbox Code Playgroud)
打印真实.
如果sdf是一个字符串,则相关问题仍然存在.什么不是印刷品?
我必须优化用Perl编写的Intranet(大约3000个文件).我想要做的第一件事是启用警告" -w"或" use warnings;",这样我就可以摆脱所有这些错误,然后尝试实现" use strict;".
有没有办法告诉Perl一直使用警告(如php.iniPHP中的设置),而无需修改每个脚本以将"-w"添加到它的第一行?
我甚至考虑为别名创建别名/usr/bin/perl,或者将其移动到另一个名称并创建一个简单的脚本而不是仅添加-w标志(如代理).
你会如何调试它?
这是我的代码:
#!/usr/bin/env perl
sub start
{
...
}
sub stop
{
...
}
if (defined $ARGV[0])
{
if ($ARGV[0]=='start') {start}
elsif ($ARGV[0]=='stop') {stop}
else {die "Unrecognized command: $ARGV[0]"}
}
无论我做什么,它总是执行&start.难道我做错了什么?
我正在使用Linux Mint 10和Perl 5.10.1.