2
這段代碼有什麼問題嗎?Perl - 無用的使用登錄void context
我得到一個錯誤: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 - 無用的使用登錄void context
我得到一個錯誤: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;
}
log是一個內置的Perl函數。解決方法之一是重命名你的子:
use strict;
use warnings;
mylog();
sub mylog {
print "Test";
return;
}
啊,謝謝:) .. – tomsk
@tomsk此外,如果你已經調用前定義'log',你將有一個警告'曖昧通話解決如CORE :: log()'。所以調用'main :: log();'會調用你定義的'log'(你可能不應該這樣做) – Dada
注意'perlcritic'爲OP產生更有意義的警告信息:'子程序名是同名內建函數在線登錄...' – toolic