Andrei Fedorov <[email protected]> писал(а) в своём письме Wed, 25
May 2011 22:58:01 +0400:
От: [email protected]
[[email protected]] от имени Анатолий
Шарифулин [[email protected]]
Отправлено: 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 mailing list
[email protected] | http://moscow.pm.org