1. Не "гораздо хуже", а works as intended. Не зря же там есть _HASHLIKE.
2. Опять-таки так и задумано. Весь этот тред народ обсуждает, как отличить 
пустой хеш от непустого. Логично, что и про массивы такой же спор может быть, и 
логично позволить пользователю решить, чего ему хочется.

Вообще я этим модулем сам ни разу не пользовался, но часто видел в зависимостях 
- Dist::Zilla, Moose и PPI им пользуются, например.

On May 26, 2011, at 17:57, Олег Алексеенков wrote:

> Вячеслав Матюхин <[email protected]> писал(а) в своём письме Thu, 26 May 2011 
> 16:09:18 +0400:
> 
> 1. там ref а не isa. это в два раза быстрее но гораздо хуже работает с 
> blessed.
> 2. там странная логика. _ARRAY([]) вернет undef, нужно использовать _ARRAY0 
> что не очень логично.
> 
>> Все уже придумано - http://search.cpan.org/dist/Params-Util/
>> 
>> On May 26, 2011, at 12:01, Анатолий Шарифулин wrote:
>> 
>>> Ааааааааа, это новый доклад для Андрея Шитова :)
>>> 
>>> On Thursday, May 26, 2011, Олег Алексеенков <[email protected]> wrote:
>>>> 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
>>>> 
>>> 
>>> --
>>> С уважением,
>>> Анатолий Шарифулин.
>>> --
>>> Moscow.pm mailing list
>>> [email protected] | http://moscow.pm.org
> -- 
> Moscow.pm mailing list
> [email protected] | http://moscow.pm.org

-- 
Вячеслав Матюхин
http://friendfeed.com/mmcleric
http://berekuk.ru

-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить