[Moscow.pm] Где в модуле писать use utf8
Oleg Alistratov
ali на ali.org.ua
Чт Июн 13 05:52:33 PDT 2013
13.06.2013, 15:23, "Олег Алексеенков" <proler на gmail.com>:
> Oleg Alistratov <ali на ali.org.ua> писал(а) в своём письме Thu, 13 Jun 2013
> 14:52:23 +0400:
>
> Подход противоположный началу тредика:
>
> use common::sense;
> use warnings "NONFATAL" => "all";
> no warnings qw(uninitialized);
Помнится, первое уже включает третье.
>
> "NONFATAL" => "all" нужен например для не падания на
> hex "\x01"
> - интересное место, warnings отключает die
>
>> Есть еще такой очень неоднозначный модуль common::sense :)
>>
>> 13.06.2013, 13:14, "Maxim Vuets" <maxim.vuets на gmail.com>:
>>> 2013/6/13 Ruslan Zakirov <ruz на bestpractical.com>:
>>>> 2013/6/13 Maxim Vuets <maxim.vuets на gmail.com>
>>>>> 2013/6/13 Dmitry L. <dim0xff на gmail.com>:
>>>>>> Привет!
>>>>>>
>>>>>> Возник вопрос, а где правильно (не с точки зрения синтаксиса, а
>>>>>> вообще)
>>>>>> и
>>>>>> нагляднее писать use utf8 в файле с модулем?
>>>>>> 1. до package My::Module;
>>>>>> 2. после package My::Module;
>>>>> Прагма utf8 имеет лексическую область видимости. Объявите до ---
>>>>> будет
>>>>> на файл. После --- на пакет.
>>>> По этому все лексические прагмы нуно писать до пакета, в том числе
>>>> strict,
>>>> warnings... Один файл - один пакет - это хорошо, но иногда надо два и
>>>> более
>>>> и вот тогда может быть неприятный сюрприз.
>>> Говоря в общем, да, я согласен (-: Мой типичный boilerplate такой:
>>>
>>> use strict;
>>> use warnings;
>>> use autodie qw<:all>;
>>> use utf8;
>>> use open qw<:utf8 :std>;
>>>
>>> ##############################################################################
>>> package My::Package;
>>>
>>> use Something;
>>> ...
>>> --
>>> Moscow.pm mailing list
>>> moscow-pm на pm.org | http://moscow.pm.org
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
--
Oleg Alistratov
Подробная информация о списке рассылки Moscow-pm