Perl 在void上下文中无用地使用日志
这个代码有什么问题 我得到一个错误:Perl 在void上下文中无用地使用日志,perl,Perl,这个代码有什么问题 我得到一个错误:在./test.pl第12行无效上下文中无用地使用日志。 #!/usr/bin/perl use strict; use warnings; log(); sub log { print "Test"; return; } 是一个内置的Perl函数。解决此问题的一种方法是重命名子系统: use strict; use warnings; mylog(); sub mylog { print "Test"; retur
在./test.pl第12行无效上下文中无用地使用日志。
#!/usr/bin/perl
use strict;
use warnings;
log();
sub log {
print "Test";
return;
}
是一个内置的Perl函数。解决此问题的一种方法是重命名子系统:
use strict;
use warnings;
mylog();
sub mylog {
print "Test";
return;
}
@此外,如果您在调用之前定义了
log
,则会将一个警告不明确的调用解析为CORE::log()
。所以调用main::log()
将调用您定义的log
(您可能不应该这样做)注意perlcritic
会为OP生成一条更有意义的警告消息:子例程名称是第行中内置函数log的谐音…
您可以阅读关于log()的内容使用perldoc-f log
或另一种方法是使用subs qw(log)代码>