为什么这个Perl函数返回一个值?

时间:2010-09-24 18:59:05

标签: perl

   $hi = do_this('asdf');

   sub do_this
   {
       $blob{'f'} = {
          'k' => 'j'
      };
   }

   print $hi->{'k'};
   # prints j

因为do_this不会返回任何内容,它如何打印j?

2 个答案:

答案 0 :(得分:25)

http://perldoc.perl.org/functions/return.html

  

在没有明确回报的情况下,   子程序,eval或do FILE   自动返回的值   最后一个表达式评估

答案 1 :(得分:4)

所有Perl 5子程序都返回最后一个执行语句的最后一个值。