2013/6/13 Dmitry L. <[email protected]>: > Привет! > > Возник вопрос, а где правильно (не с точки зрения синтаксиса, а вообще) и > нагляднее писать use utf8 в файле с модулем? > 1. до package My::Module; > 2. после package My::Module;
Прагма utf8 имеет лексическую область видимости. Объявите до --- будет на файл. После --- на пакет. Я предпочитаю писать до, потому что в файле может быть несколько пакетов, а код пакетов едва ли будет записан в разных кодировках (весь файл должен быть в единой кодировке). > Считаем, что модули не сами по себе, а часть какого-то приложения, которое > утф8. Это утверждение непонятно. Что значит "приложение утф8"? На всякий случай: прагма utf8 сообщает о кодировке файла с исходным кодом, а не о кодировке данных, с которыми потом работает приложение. Смотрите `perldoc utf8`. > Вопрос появился после того, как взглянул на файлы, которые создаются с > помощью DBIC::Schema::Loader::_dump_to_dir > > Там почему-то так: > ----------------------------------------------- > my $schema_text = > qq|use utf8;\n| > . qq|package $schema_class;\n\n| > . qq|# Created by DBIx::Class::Schema::Loader\n| > . qq|# DO NOT MODIFY THE FIRST PART OF THIS FILE\n\n|; > ----------------------------------------------- > Вероятно в этот файл потом пишется UTF-8 текст, например, строковые DEFAULT значения схемы. > > -- > //wbr, Dmitry L. > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
