Como posso encerrar um comando do sistema com alarme no Perl?

Estou executando o snippet de código abaixo no Windows. O servidor começa a ouvir continuamente após a leitura do cliente. Eu quero terminar este comando após um período de tempo.

Se eu usaralarme() chamada de função dentromain.pl, então finaliza todo o programa Perl (aquimain.pl), então eu chamei issosistema comando, colocando-o em um arquivo Perl separado e chamando este arquivo Perl (alarm.pl) no arquivo Perl original usando osistema comando.

Mas dessa maneira eu não consegui pegar a saída dessesystem() não chame nem no arquivo Perl original nem em um chamado arquivo Perl.

Alguém poderia me informar como encerrar umasystem() ligar ou pegar a saída da maneira que usei acima?

main.pl
my @output = system("alarm.pl");
print"one iperf completed\n";

open FILE, ">display.txt" or die $!; 
print FILE @output_1; 
close FILE;
alarm.pl
alarm 30;
my @output_1 = readpipe("adb shell cd /data/app; ./iperf -u -s -p 5001");

open FILE, ">display.txt" or die $!; 
print FILE @output_1; 
close FILE;

Nos dois sentidosdisplay.txt está sempre vazio.