Перенаправление 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: cpan, perl, STDOUT