#!/usr/bin/perl use strict; use warnings; use POSIX; use IO::Handle; # pipe (READ,WRITE); # sub _Forked { my $ip = shift; die "Couldn't fork" unless defined (my $pid = fork()); if ($pid == 0) { # CHILD my @ping = `ping $ip -w 2 -q | sed -n '\$p'`; close (READ); select WRITE; print "@ping\n"; close (WRITE); # exit (0); } # return ($pid); } # sub main { my $cpid = _Forked('4.2.2.2'); my $dpid; do { $dpid = POSIX::waitpid(-1,WUNTRACED); my @val = ; print "@val\n"; # my $cpid = _Forked('4.2.2.2'); } until ($dpid < 0) } main();