Почему эта функция Perl возвращает значение? - PullRequest
6 голосов
/ 24 сентября 2010
   $hi = do_this('asdf');

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

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

, поскольку do_this ничего не возвращает, как он по-прежнему печатает j?

Ответы [ 2 ]

25 голосов
/ 24 сентября 2010

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

При отсутствии явного возврата, подпрограмма, eval или do FILE автоматически возвращает значение последнее вычисленное выражение

4 голосов
/ 24 сентября 2010

Все функции Perl 5 возвращают последнее значение последнего выполненного оператора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...