[Moscow.pm] Странности и неожиданности Perl
Ivan B. Serezhkin
ivan на serezhkin.com
Чт Фев 28 10:37:03 PST 2008
Привет.
Эта функция вообще подразумивает:
my $test = {
a => aa or die "shit happens",
b => 1,
};
Но лучше делать не return if, а throw if, который хоть где-то да
перехватят.
Alex Shatlovsky wrote:
> On 2/28/08, Andrew Fedorov <Andrei.Fedorov на sup.com> wrote:
>
>> use Data::Dumper;
>>
>> sub aa {
>> my $bad_day = 1;
>> return if $bad_day;
>> return 'bla-bla-bla';
>> }
>>
>> my $test = {
>> a => aa,
>> b => 1,
>> };
>>
>> print Dumper($test);
>>
>> =====================
>> $VAR1 = {
>> '1' => undef,
>> 'a' => 'b'
>> };
>> =====================
>> Очень многие используют return if/unless для выхода и вот к чему это может привести. Особенно следует учитывать при использовании чужих библиотек :)
>>
>
> "perl -w" честно ругается на Odd number of elements in hash assignment.
>
> Вообще, для защиты от разного рода неожиданностей хорошим витамином является
>
> #!/usr/bin/perl -w
> use strict;
>
> в начале каждого скрипта.
>
> --
>
>
>> ______________________________________________________________________
>> Moscow.pm mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
>> http://mail.pm.org/mailman/listinfo/moscow-pm
>>
> ______________________________________________________________________
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
> http://mail.pm.org/mailman/listinfo/moscow-pm
--
Ivan B. Serezhkin
Подробная информация о списке рассылки Moscow-pm