afiskon 25.02.2010 20:46
Скрипты — Основы программирования на Perl (часть 2)
Ну вот дошли руки написать продолжение к посту Основы программирования на Perl. В этой части речь пойдет об условных операторах и циклах.
digiwhite 25.02.2010 20:49 #
+ 1 -
Почему-то не люблю посты-ссылки :).
Честно говоря, я тоже. Но в прошлом анонсе мне сказали выбирать - либо ссылка, либо копипаст. А из двух зол, как говорится... :)
Копипаст со ссылкой на источник гораздо рульней даже с позиции seo. Ведь есть ссылка на оригинал =)
На счет SEO не скажу, а здравый смысл подсказывает, что плодить копии одного и того же текста не есть гуд.
Мне кажется, в этой статье неплохо бы в самом начале упомянуть, что в Perl правда, а что ложь. (В смысле True/False)
0, "", undef - ложь, но 0.0 - правда
Остальное правда
Прим: Не на ту кнопочку нажал
Остальное правда
Прим: Не на ту кнопочку нажал
Но больше всего я лублю в Perl возможность выполнять команды типа
perl -e 'for(<./*>) {print `md5 $_\n`;}'
perl -e 'for(<./*>) {print `md5 $_\n`;}'
Разумеется, в баше тоже есть глобы. Просто в perl операции с файлами могут быть сложнее. И да, я догадываюсь, что питон тоже так может :)
питон тоже так может :)
угу.
вот оно (однострочник, считает md5 всех файлов current dir рекурсивно и выдает список словарей {имя_файла : md5}):
python3 -c 'from functools import reduce; import os,hashlib; print(list(map (lambda x: {x : hashlib.md5(open(x, "rb").read()).hexdigest()}, <((l<0>,)*len(l<2>),l<2>) for l in os.walk(os.getcwd())>))))>)))'
хотя это из спортивного интереса к функциональному подходу написана...
пока писал уже начал забывать как оно работает :)
да просто
мало того: оно с башем и сишными прогами быстрее
я просто показал, что на python тоже можно в одну строку
%)
md5sum `find . -type f`
мало того: оно с башем и сишными прогами быстрее
я просто показал, что на python тоже можно в одну строку
%)
еще я очень люблю perl за работу с файлами:
my $file = open(LOGFILE, "< $logpath") or die("Log file cannot be opened!");
foreach (<LOGFILE>) {
print;
}