[offtopic] perl (was Re: freebsd - Can't locate nginx.pm)

denis denis at webmaster.spb.ru
Mon Jul 8 14:23:03 UTC 2013


08.07.2013 17:59, Anton Yuzhaninov пишет:
>
> Если у вас много perl-ового кода, который сложно изменить для работы с 
> новыми версиями perl, то проще сделать так:
Это да, вариант хороший.

> 1. nginx и весь остальной перловый софт разнести по разным jail-ам 
> (или вирт. машинам, если они есть).
> 2. В джайле с nginx использовать современный perl
> В джайле с perl-овым софтом ставить нужный perl не из портов, а через 
> App::perlbrew, 
Не осилили. У нас на некоторых узлах центось 5, пробовали ставить через 
perlbrew 5.10, но запустить так и не вышло - оно всегда юзало 5.8. И 
непонятно, как там модули ставить... Если бы были, кто эту систему 
осилил и мог советами помочь, может и внедрили бы.


> а модули ставить через  Carton (и не обновлять, потому что рано или 
> поздно столкнетесь с тем, что модулю нужна более свежая версия перла, 
> чем есть).
такого вообще не видели.

> Я поддерживаю некоторый (не очень маленький) объем perl-ового кода и 
> после 5.10 переход на последующие версии требовал простых изменений 
> максимум нескольких строчек кода (с конструкциями, давно объявленными 
> устаревшими типа if (defined(@array)) ). Из того, что я помню - 
> сложным был только переход 5.6 - 5.8, когда сильно поменялась работа с 
> unicode.
у нас 5.6 не было, а в 5.8 с юникодом тоже было много нюансов вплоть до 
того, что сайт рандомно показывал всё то хорошо, то кракозяблы, в 
результате было куча хаков вставлено. И при переходе на 5.10 
потребовался аудит почти всего кода.

> Ну и полезно иметь тесты. Возможность прогнать make test на новой 
> версии перла экономит время (хотя, конечно не гарантирует отсутствие 
> багов)
Согласен, нужно. Но много ли людей вообще знает, как их делать? Думаю, 
1%, у кого что-то серьезное и простой недопустим. И потом, тесты надо 
также писать, сопровождать, обновлять вместе с задачами.. и 100% 
покрытие нереально, там куча сил только на тесты будет уходить.



Подробная информация о списке рассылки nginx-ru