Perl 5 модули, которые я использую реже и реже
Не все так чудесно и замечательно. Со временем приходится отказываться от некоторых библиотек и модулей CPAN. Процесс естественный, на мой взгляд, и я расскажу о своем списке таких модулей.
Этот модуль у меня первый в списке. Хоть и связаны с ним наилучшие применения, но были и случаи когда его работоспособность зависела от пробела в строке файла шаблона. Как-то приходилось проходить грандиозный квест по его установке на Windows платформе ( тогда я окончательно понял, что мне больше нравятся шутеры).
Но это все не основные причины, почему я отказываюсь от этого модуля. Однажды я встретил файл шаблона, состоящий из одинокого html тэга div. Конечно этот файл годом ранее содержал логику обработки данных, производил какой-то HTML, но со временем выродился в небольшой файл. Это стало поводом задуматься: нужны ли дополнительные шаблонизаторы ? Ведь сам Perl 5 ориентируется на обработку текста.
К тому же основными тенденциями ( конечно же это уже факт) являются перенос логики представления данных на строну клиента, а при взаимодействии с сервером преобладают форматы XML, JSON. Указанные форматы, да и просто текст, прекрасно формируется без участия Template-Toolkit. Поэтому отказ от него в моем случае скорее технологический, чем политический :-).
В свое время эта библиотека, а именно работа с пространствами имен, реализованная в ней, подвигла к созданию библиотеки XML::ExtOn. По сути XML::ExtOn является надстройкой над XML::SAX, расширяя функционал объектами и упрощая манипуляции с пространствами XML имен. На сегодня нет необходимости в базовой библиотеке XML::SAX и поэтому в планах от нее отказаться.
Этот модуль хорош всем, кроме того, что использует Text::Iconv. У Text::Iconv проблемы с портом под Windows, связанные прежде всего с библиотекой libiconv. В итоге все это мешает использованию Perl6::Pod на платформе Windows. Поэтому я планирую отказаться совсем от XML::SAX::Writer.
В процессе реализации REST доступа к сайту zag.ru, выяснилось что вместе с Perl v5.10.0 поставляется устаревшая версия CGI.pm 3.29 (вышедшая 3 года назад!). И она с ошибками обрабатывает специальные параметры, а именно POSTDATA и PUTDATA. Эта проблема проявляется в распространенном дистрибутиве Debian "Lenny" и лечится обновлением модуля CGI.pm с CPAN. В FreeBSD CGI.pm установлен через отдельный порт, который часто обновляется и поэтому причину проблем я заметил не сразу (лишь после размещения кода на рабочем сервере). Эта проблема, не основная, но способствовала попаданию CGI.pm в этот список.
Такой у меня получился список. В завершении можно было привести список модулей от использования, которых я уже отказался, но вспомнились только Apache2::Module и Pod::Parser. От Apache2::Module я успешно перешел на FCGI,а на смену Pod::Parser пришел Perl6::Pod.