Oleg Alistratov <[email protected]> писал(а) в своём письме Thu, 13 Jun 2013 16:52:33 +0400:


13.06.2013, 15:23, "Олег Алексеенков" <[email protected]>:
Oleg Alistratov <[email protected]> писал(а) в своём письме 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" <[email protected]>:
 2013/6/13 Ruslan Zakirov <[email protected]>:
  2013/6/13 Maxim Vuets <[email protected]>
  2013/6/13 Dmitry L. <[email protected]>:
  Привет!

  Возник вопрос, а где правильно (не с точки зрения синтаксиса, а
 вообще)
  и
  нагляднее писать 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
 [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

Ответить