$hi = do_this('asdf'); sub do_this { $blob{'f'} = { 'k' => 'j' }; } print $hi->{'k'}; # prints j
, поскольку do_this ничего не возвращает, как он по-прежнему печатает j?
http://perldoc.perl.org/functions/return.html
При отсутствии явного возврата, подпрограмма, eval или do FILE автоматически возвращает значение последнее вычисленное выражение
Все функции Perl 5 возвращают последнее значение последнего выполненного оператора.