[Moscow.pm] HA: false

Олег Алексеенков proler на gmail.com
Чт Май 26 00:53:40 PDT 2011


Andrei Fedorov <Andrei.Fedorov на sup.com> писал(а) в своём письме Wed, 25  
May 2011 22:58:01 +0400:

>> От: moscow-pm-bounces+andrei.fedorov=sup.com на pm.org  
>> [moscow-pm-bounces+andrei.fedorov=sup.com на pm.org] от имени Анатолий  
>> Шарифулин [sharifulin на gmail.com]
>> Отправлено: 25 мая 2011 г. 19:49
>> Кому: Moscow.pm group
>> Тема: Re: [Moscow.pm] false
>
>> %{$ret||{}} – правильная запись, но лучше писать проще %$ret, зная что  
>> в $ret лежит всегда хеш.
>
> Кто сказал, что это правильно?! Такая "правильность" сугубо личное  
> мнение!
> Если подразумевается, что в $ret могут быть не корректные для обработки  
> данные (undef), то следует также учесть, что $ret может содержаться и  
> скаляр:
> Can't use string ("oops") as a HASH ref while "strict refs"
>
> Почему нельзя просто проверить ref переменной $ret на значение HASH, и в  
> зависимости от требований сделать next, return или $ret = {}.

sub is_hash ($) { UNIVERSAL::isa( $_[0], 'HASH' ) }
sub is_hash_size ($) { is_hash( $_[0] ) and %{ $_[0] } }

next unless is_hash_size $ref;


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