BTW: Moose is not really "Modern Perl", they just hijacked the name. Moose is perfect Larry Wall-style postmodern perl mixed with Bjarne Stroustrup-style everything goes, with an eclectic aberration of proper perl6 syntax, e.g. using strings for variable names, horrible fields syntax, and a very immature naive implementation which is 10x slower than a proper implementation. cperl and perl6 are the true modern perls, where form follows function, and the implementation is reduced and optimized.

есно, почему большинство современных решений, построенных с использованием Perl, не позволяютUTF-8, по умолчанию.

Я понимаю, что для основных скриптов Perl существует много проблем, которые могут сломать вещи. Но, с моей точки зрения, в 21улица Век, большие новые проекты (или проекты с большой перспективой) должны сделать свое программное обеспечение UTF-8 доказательством с нуля. Тем не менее я не вижу, что это происходит. Например,лось включает строгие и предупреждения, но неUnicode. Современный :: Perl уменьшает также и шаблон, но не обрабатывает UTF-8.

Почему? Есть ли причины избегать использования UTF-8 в современных проектах Perl в 2011 году?

Комментировать @tchrist слишком долго, поэтому я добавляю его сюда.

Кажется, я не прояснил себя. Позвольте мне попытаться добавить некоторые вещи.

tchrist и я вижу ситуацию довольно схожим образом, но наши выводы полностью противоположны. Я согласен, ситуация с Unicode сложная, но именно поэтому нам (пользователям и программистам Perl) нужен какой-то слой (или прагма), который делает обработку UTF-8 настолько простой, насколько это должно быть в наши дни.

tchrist указал на многие аспекты, чтобы покрыть, я буду читать и думать о них в течение нескольких дней или даже недель. Тем не менее, это не моя точка зрения.tchrist пытается доказать, что не существует единственного способа «включить UTF-8». У меня не так много знаний, чтобы спорить с этим. Итак, я придерживаюсь живых примеров.

Я играл сRakudo и UTF-8 был только тамкак мне нужно, У меня не было никаких проблем, это просто сработало. Может быть, есть какое-то ограничение где-то глубже, но в начале все, что я тестировал, работало так, как я ожидал.

Разве это не должно быть целью и в современном Perl 5? Я подчеркиваю это больше: я не предлагаю UTF-8 в качестве набора символов по умолчанию для ядра Perl, я предлагаю возможность его запускас оснасткой для тех, кто развиваетсяновый проекты.

Еще один пример, но с более негативным тоном. Фреймворки должны облегчить разработку. Несколько лет назад я попробовал веб-фреймворки, но просто выбросил их, потому что «включение UTF-8» было настолько неясным. Я не нашел, как и где подключить поддержку Unicode. Это было так много времени, что мне было легче идти по старому пути. Теперь я увидел, что здесь была щедрость для решения той же проблемы скаменщик 2:Как сделать Mason2 UTF-8 чистым?, Итак, это довольно новый фреймворк, но для его использования с UTF-8 требуется глубокое знание его внутренних возможностей. Это как большой красный знак: СТОП, не используйте меня!

Мне очень нравится Perl. Но иметь дело с Юникодом больно. Я все еще бегаю по стенам. Каким-то образомtchrist прав и отвечает на мои вопросы: новые проекты не привлекают UTF-8, потому что это слишком сложно в Perl 5.

Ответы на вопрос(7)

Ваш ответ на вопрос