perl for dummi

Все о программировании под *nix
Аватара пользователя
sovaby
Заглянувший
Сообщения: 7
Зарегистрирован: 16 май 2006, 16:17
Откуда: Минск
Контактная информация:

perl for dummi

Сообщение sovaby »

как реализовать запуск awk из перл
ну например

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

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

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

Аватара пользователя
Victor Gr.
Неотъемлемая часть форума
Сообщения: 891
Зарегистрирован: 13 авг 2004, 15:39
Откуда: Минск
Контактная информация:

Сообщение Victor Gr. »

Наколькі я ведаю, за запуск знешніх каманд адказваюць функцыі system () ды exec ().

Аватара пользователя
Eugene
Маньяк
Сообщения: 162
Зарегистрирован: 13 фев 2004, 15:02
Откуда: Minsk
Контактная информация:

Сообщение Eugene »

sovaby,
perl -e "print `echo \"1 2 3\" | awk '{print $2}'`"
/born to bash/

[ updated: 2006-02-21 ]

/born to zsh/

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

sovaby, бр... не занимайтейсь ерундой такого рода... А то у меня сердце слабое, поюзанное, попрченное алкоголем и никотином...

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

Lioxa
Неотъемлемая часть форума
Сообщения: 732
Зарегистрирован: 18 янв 2004, 22:29
Откуда: Минск
Контактная информация:

Re: perl for dummi

Сообщение Lioxa »

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

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

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

Ответить