Вы можете использовать это регулярное выражение для извлечения "0,4 сек" из вывода команды
/^\[\s*\d+\]\s*\d+\.\d+\s*\-\s*(\d+\.\d+)\s*sec/
Например:
use IPC::Open2;
my $pid = open2(\*CHLD_OUT, \*CHLD_IN, "iperf -s"); # open iperf server process
my $time_duration;
while (<CHLD_OUT>) { # waiting for command output
if (/^\[\s*\d+\]\s*\d+\.\d+\s*\-\s*(\d+\.\d+)\s*sec/) {
$time_duration = $1;
print "time duration: $1\n";
}
}
примечание: этот скрипт будет ожидать вывода команды, пока вы не прервете его вручную