Страница 1 из 1

perl for dummi

Добавлено: 23 май 2006, 16:44
sovaby
как реализовать запуск awk из перл
ну например

print `echo "1 2 3 " | awk '{print $2}'`

по идее должно вывести 2 но не выводит !

Что не так? дайте исправленый пример

Добавлено: 23 май 2006, 18:02
Victor Gr.
Наколькі я ведаю, за запуск знешніх каманд адказваюць функцыі system () ды exec ().

Добавлено: 23 май 2006, 18:53
Eugene
sovaby,
perl -e "print `echo \"1 2 3\" | awk '{print $2}'`"

Добавлено: 23 май 2006, 19:32
Llama
sovaby, бр... не занимайтейсь ерундой такого рода... А то у меня сердце слабое, поюзанное, попрченное алкоголем и никотином...

echo "1 2 3" | perl -e 'print "$1\n" if /\S\s+(\S+)\s+\S+/' - это так, коряво ессно...
правильнее сделать со split

Re: perl for dummi

Добавлено: 24 май 2006, 10:05
Lioxa
sovaby писал(а):как реализовать запуск awk из перл
Задача - запустить что-то из Perl? или реализоваться с помощью чегото то, что вы не знаете как сделать в Perl?
Если второе, то лучше подучить, порыться в доках.
А если превое, то можно, в дополнение к приведённым примерам, ещё и так:

open(AWK,"|awk");
print AWK "1 2 3";
close(AWK);

но только смотри, что бы вместо awk подставлялась правильная программа, без лишних символов, а то можно получить серьёзную дыру в безопасности.