[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