Я согласен, что Perl и его однострочники могут быть удобны, но большинство примеров не очень удачны, т.к. сделать тоже самое на shell-е может быть куда проще и при этом не нужно знать Perl и помнить его ключи. Например: >cat file.csv | cut -d ';' -f 2 | grep -v afiskon Легко упрощается до двух комманд: >cut -d ';' -f 2 <file.csv | grep -v afiskon а после и вовсе до одной: >awk -F';' '{if($2~/afiskon/){print $2}}' file.csv >perl -e 'printf "%x\n", 1234' На шелле даже короче: printf "%x\n" 1234 >perl -le 'while(glob "cgi-bin/*"){ print if -f }' find cgi-bin -type f >find ./ | perl -lne 'if(-T $_){ $d = `cat "$_"`; print if ($d =~ /test/i) && ($d !~ /debug/i) }' grep -rl test | xargs grep -L debug >echo 'hello, world!' | perl -pe 's/hello/goodbye/i' echo 'hello, world!' | sed 's/hello/goodbye/i' >perl -le 'print time()' date +%s >perl -e 'while(1) { system("cat worker.log | grep Failed | wc -l"); sleep 60 }' Ааааа! Очерендное useless cat usage, см. http://partmaps.org/era/unix/award.html cat worker.log | grep Failed | wc -l легко заменяется на grep -c Failed worker.log А вся конструкция на watch -n 1 'grep -c Failed worker.log' >cat id_list.txt | perl -le 'chomp; system("wget \"http://example.ru/api/v1.0/items?item_id=$_\"")' Как-то так: sed 's|.*|http://example.ru/api/v1.0/items?item_id=\1|' d_list.txt | xargs wget К сожалению, ОЧЕНЬ часто приходится видеть как люди для задач в которых shell реально рулит используют не совсем подходящие инструменты -- от Ruby до Java :( Примеры с обработкой JSON и конвертированием Base64/urlencode более убедительны, т.к. в шелле это сложнее сделать либо совсем нет возможности. Про Perl ещё хорошие статейки ещё можно почитать от Бена Окопника: http://www.linuxlib.ru/prog/okopnic/ ну и его *великолепные* истории в детективном жанре "Однострочник месяца на Perl": http://linuxpage.ru/old/content/607 http://linuxpage.ru/old/content/608 (где-то в сети были ещё...)