【发布时间】:2020-03-27 04:39:49
【问题描述】:
这段代码有什么问题?
我收到一个错误:Useless use of log in void context at ./test.pl line 12.
#!/usr/bin/perl
use strict;
use warnings;
log();
sub log {
print "Test";
return;
}
【问题讨论】:
标签: perl
这段代码有什么问题?
我收到一个错误:Useless use of log in void context at ./test.pl line 12.
#!/usr/bin/perl
use strict;
use warnings;
log();
sub log {
print "Test";
return;
}
【问题讨论】:
标签: perl
log 是一个内置的 Perl 函数。解决此问题的一种方法是重命名您的子:
use strict;
use warnings;
mylog();
sub mylog {
print "Test";
return;
}
【讨论】:
log,则会收到警告Ambiguous call resolved as CORE::log()。所以调用main::log(); 将调用你定义的log(你可能不应该这样做)
perlcritic 会为 OP 生成更有意义的警告消息:Subroutine name is a homonym for builtin function log at line...
perldoc -f log 或perldoc.perl.org/functions/log.html 阅读有关 log() 的信息
use subs qw( log );