24 апреля 2015 г., 20:57 пользователь Victor Efimov <[email protected]> написал: > Личное ИМХО - выпилить такой модуль. Это совсем зло такое делать. Одна > из проблем use encoding - как раз глобальное влияние на весь процесс, > чего лишены всякие 'use utf8'
Получается, что в любом случае надо найти этот модуль. Кто-нибудь может подсказать средство для построения дерева зависимостей по cpanfile? > 24 апреля 2015 г., 20:52 пользователь Denis Ibaev <[email protected]> написал: > > Я б не изучал, но её подключает какой-то модуль из зависимостей проекта. > > Из-за чего в Mojolicious ломается декодирование параметров, содержащих JSON > > с кириллицей. Потому что url_unescape начинает возвращать строку с флагом, и > > она дальше не может быть перекодирована в нужную кодировку. > > > > 24 апреля 2015 г., 20:36 пользователь Victor Efimov <[email protected]> > > написал: > > > >> > >> 2015-04-24 19:54 GMT+03:00 Denis Ibaev <[email protected]>: > >> > Привет. > >> > > >> > Не могу понять, почему в одном случае ниже приведённый скрипт выставляет > >> > у > >> > строки флаг utf8, а в другом нет. Без прагмы encoding такого эффекта не > >> > наблюдается. Может кто-нибудь объяснить? > >> > >> Наверное баг в прагме encoding? Она deprecated: "This module has been > >> deprecated since perl v5.18.", как раз из-за своего странного > >> поведения. > >> Т.е. ответа на поставленный вопрос у меня нет, просто уточняю что эта > >> прагма кривая и может и не стоит её поведение изучать. > >> > >> > > >> > Вывод скрипта: > >> > > >> > v1 is utf-8 = 0 > >> > v2 is utf-8 = 0 > >> > v1 is utf-8 = 1 > >> > v2 is utf-8 = 0 > >> > > >> > Сам скрипт: > >> > > >> > use strict; > >> > use warnings; > >> > use v5.12; > >> > use utf8; > >> > > >> > use encoding 'utf-8'; > >> > > >> > my $v1 = ''; > >> > my $v2 = ''; > >> > > >> > utf8::downgrade($v1); > >> > utf8::downgrade($v2); > >> > > >> > say 'v1 is utf-8 = ', utf8::is_utf8($v1) || 0; > >> > say 'v2 is utf-8 = ', utf8::is_utf8($v2) || 0; > >> > > >> > $v1 .= chr(hex($_)) for qw(22 D0); > >> > $v2 .= chr(hex($_)) for qw(D0); > >> > > >> > say 'v1 is utf-8 = ', utf8::is_utf8($v1) || 0; > >> > say 'v2 is utf-8 = ', utf8::is_utf8($v2) || 0; > >> > > >> > Окружение: > >> > > >> > $ perl -v > >> > This is perl 5, version 14, subversion 2 (v5.14.2) built for > >> > x86_64-linux-gnu-thread-multi > >> > (with 57 registered patches, see perl -V for more detail) > >> > > >> > $ perl -MEncode -E 'say Encode->VERSION' > >> > 2.73 -- Денис Ибаев
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
