Просмотр полной версии : Привожу в порядок своИ PERL'ы. :)
DarkTemplar
02.03.2007, 13:33
Раньше всё писал на скорую руку, не так обтстоятельно, без perl -w и пр.
Тут на досуге решил перевести в порядок все свои "шедевры". добавил -w и тихо офигел. :) Но постепенно начинаю осознавать полезность варнингов.
Теперь вопрос относительно use strict. Я что-то не до конца догоняю необходимость этой опции. В отличии от WARNов она ИМХО матерится на любой мелкий недочёт :spy:
Продвинутые PERL'овики есть? ;)
не на недочет, а на неаккуратный код.
1. важное - не дает использовать в данной области видимости необявленные переменные.
2. убирает вольности с использование идентификаторов:
my $var = function #не канает
my $var = function() #работает.
это повышает читабельность кода и снимает вероятность случайных ошибок.
3. регламентирует применение символических ссылок (не использую, поэтому за подробностями в ман)
shurutov
02.03.2007, 15:56
squirL :agree:
Оглядываясь назад - много времени она мне сэкономила матерясь "на любой мелкий недочёт" ;):)
DarkTemplar
02.03.2007, 16:06
Тогда встречный вопрос.
Как побороть ситуёвину
my $str = "error:invalid-request//";
my $prefix = "";
my $domain = "";
while ($str =~ s/\/\//\//g){};
($prefix, $domain) = split(/\//, $str);
$str = $prefix."\/\/".$domain;
В данном случае строка разбивается на две части: до "//" и после "//".
А так как после "//" ничего нет, то $domain принимает undef.
В результате имеем: Use of uninitialized value in concatenation (.) or string
Что посоветуете?
проверять $domain на undef
shurutov
02.03.2007, 17:27
Функция defined
wilkomsoon
02.03.2007, 21:00
О, рекомендую еще http://www.perlcritic.com/. Много нового о себе можно узнать.
Еще, до кучи. Долго буду помнить бег по граблям с $count. В отдельной процедуре ее использовал, а то, что она головную перебивала - забыл, не подумал. Очень сексуальный денек у меня тогда выдался, пока понял, в чем косяк.
DarkTemplar
05.03.2007, 11:13
О, рекомендую еще http://www.perlcritic.com/. Много нового о себе можно узнать.
О! А вот за эту ссылку ОРГРОМНОЕ РЕСПЕКТИЩЕ! :good:
Один из тех редких случаев обоснованной критики. Получил сразу все ответы на своИ вопросы. :)
СПАСИБО!
vBulletin® v3.8.0, Copyright ©2000-2012, Jelsoft Enterprises Ltd. Перевод: zCarot