Перенаправление STDOUT системных команд в консоль при выполнении perl

Иногда требуется вывести результат команды в консоль, причем результат по сути бесконечный ( например ping ). Стандартный скрипт результата не дал :

#!/usr/bin/perl

use strict;
use warnings;

my $tt = `ping ya.ru`;
print $tt;

потому как по сути все время работы пинга в переменную будет писаться вывод. Для наших целей потребуется модуль IPC::Open2 ( Inter Program Communication ).
Страница модуля — http://search.cpan.org/~jhi/perl-5.8.0/lib/IPC/Open2.pm

Пример работающего скрипта :


#!/usr/bin/perl

use strict;
use warnings;

use IPC::Open2;

my $HANDLE;

my $pid = open(HANDLE, "|ping ya.ru|");

print HANDLE "";
Tags: , ,

Leave a Reply