[Moscow.pm] use utf8 & hashes

Denis A. Yurashkou perl на methodlab.info
Ср Фев 20 02:30:45 PST 2008


'Sergey Homenkow' wrote on 20.02.2008 13:05:
> Приветствую!
>
> Имеем perl v5.8.8 и код:
>
> =====
> use utf8;
>
> my %s = (
>       MaxAccountSize1   =>  1,
>       'MaxAccountSize2' =>  1,
>       );
..SKIPPED..
> Имеем результат:
> 'MaxAccountSize1' is_utf8 =>  '1' not_utf8
> 'MaxAccountSize2' not_utf8 =>  '1' not_utf8
>
> Кто-нибудь может подсказать почему так получается с ключами хеша?
Попытаюсь.

У меня впечатление, что так происходит из-за того, что первый ключ (MaxAccountSize1) в строку переводит сам Perl (у которого всё внутри UTF), второй (MaxAccountSize2) ему _передаётся_ уже как строка (в той кодировке, в которой Вы пишете).

>
> '-MO=Deparse' показывает:
> my(%s) = ('MaxAccountSize1', 1, 'MaxAccountSize2', 1);
> т.е. выглядят они одинаково.
>
> ______________________________________________________________________
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
> http://mail.pm.org/mailman/listinfo/moscow-pm


-- 
С уважением, *Юрашку Денис А.*,
/компания *Method Lab* -- Интернет-технологии для бизнеса,
code на methodlab.info <mailto:code на methodlab.info>
http://www.methodlab.info
тел.: +7 (495) 228-0992/


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