标签: function perl
我试图理解为什么没有返回值的函数定义了一个值。有人可以解释一下吗?
这是代码:
perl -le 'sub xxx { print 2; } print defined(xxx);'
控制台输出是:
2 1
我原以为返回的值是undef和定义的值....
$ perl -v This is perl 5, version 22, subversion 1 (v5.22.1) built for x86_64-linux-gnu-thread-multi
答案 0 :(得分:6)
print以返回值:
如果成功则返回true。
并且记录子例程以在没有明确的return时返回最后一个表达式。
(如果没有显式返回,子例程,eval或do FILE会自动返回最后一个表达式的值。)