#!/usr/bin/perl use strict; use warnings; my $cmd = '/etc/ping'; my $host = '127.0.0.1'; my $timeout = 3; my @cmd = (); eval { local $SIG{ALRM} = sub { die "alarm\n" }; alarm $timeout; print "fuehre exec aus: $cmd -c 5 $host\n"; @cmd = `$cmd -c 5 $host`; alarm 0; }; if ($@) { foreach (@cmd){ print; } print "TimedOut - $@\n"; warn unless $@ eq "alarm\n"; } else { foreach (@cmd){ print; } print "Timed Nicht Out\n"; }