[Moscow.pm] use utf8 vs no use utf8

Ruslan Zakirov ruslan.zakirov на gmail.com
Ср Июл 29 03:11:28 PDT 2009


Вы о чем, товарищи? utf8 лексическа прагма и не имеет никакого
отношение к возвращаемым из другого кода строкам, а только к
константам внутри лексической области видимости.

Все что связано с передачей данных должно быть сделано явно или через
use encoding, но последнее касается только получения внешних данных и
крайность к которой прибегать не стоит.

2009/7/29 Dmitry E. Oboukhov <unera на debian.org>:
> ГА> Если в коде не было use utf8; или no utf8; то $::utf8::{AUTOLOAD} будет undef.
>
> а если был no utf8?
>
> то есть хочу такого:
>
> use utf8;
> use Package;
>
> my $string = MyPackage::foo;  # - тут юникодная строка
>
> {
>    no utf8;
>    my $string2 = MyPackage::foo; # - тут encoded utf8-строка
> }
>
>
> ГА> On 28 июля 2009 20:53:51 Dmitry E. Oboukhov wrote:
>>> навеяло темой про CGI :)
>>>
>>> по работе иногда приходится писать модули для тулзовин написанных во
>>> времена царя гороха, которые без использования use utf8 работают и
>>> если им тудыть эту директиву вставить то придется очень много
>>> переделывать
>>>
>>> ну и в общем допустим пишем мы пакет
>>>
>>> package MyPackage;
>>> sub foo
>>> {
>>>     ...
>>>     return $string;
>>> }
>>>
>>> есть ли возможность модулю в котором есть директива use utf8 вернуть
>>> utf-строку, а модулю (вообще говоря блоку) который не содержит оной
>>> директивы вернуть простую байтовую строку?
>>>
>>> то есть что-то в духе
>>>
>>> sub foo
>>> {
>>>     ...
>>>     return is_caller_utf8 ? $string : encode utf8 => $string;
>>> }
>>> --
>>> ... mpd paused: Manowar - Call To Arms
>>>
>>> . ''`.                               Dmitry E. Oboukhov
>>>
>>> : :’  :   email: unera на debian.org jabber://UNera@uvw.ru
>>>
>>> `. `~’              GPGKey: 1024D / F8E26537 2006-11-21
>>>   `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537
> --
> ... mpd playing: Manowar - Hand Of Doom
>
> . ''`.                               Dmitry E. Oboukhov
> : :’  :   email: unera на debian.org jabber://UNera@uvw.ru
> `. `~’              GPGKey: 1024D / F8E26537 2006-11-21
>  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
>
> iEYEAREDAAYFAkpv9jkACgkQq4wAz/jiZTcCkQCggapyTXUbyny/lZ1erZLuFayR
> auoAnR2O0p3WHFD59FmPbqOMalhUKCE7
> =Oty4
> -----END PGP SIGNATURE-----
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
>



-- 
Best regards, Ruslan.


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