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)