[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