[Moscow.pm] Странности и неожиданности Perl

Denis Evdokimov evdokimov.denis на gmail.com
Чт Фев 28 10:52:35 PST 2008


>  Очень многие используют return if/unless для выхода и вот к чему это может привести. Особенно следует учитывать при использовании чужих библиотек :)

Да, пример наглядный.
Мы же ничего не возвращаем...
Удивительно то, что return не возвращает undef;
хотя в man чётко сказано, что в Perl АБСОЛЮТНО любая функция
возвращает какое-нибудь значение

use Data::Dumper;

# Крах Всему
use constant aa;
#sub aa {}
#sub aa { return }
#sub aa { return if 1}

# Всё ОК
#sub aa { return undef if 1}
#sub aa { return 1 if 1}

my $test = {
   a => aa,
   b => 1,
};

print Dumper($test);


Подробная информация о списке рассылки Moscow-pm