Before setting SIG{CHLD} its value is...
$VAR1 = undef;
After setting SIG{CHLD} its value is...
$VAR1 = sub { "DUMMY" };
After require statement SIG{CHLD} value is...
$VAR1 = sub { "DUMMY" };
Calling ping now...
I AM A SIG{CHLD} handler
Reading ping stream...
Reading ping stream...
Reading ping stream...
Reading ping stream...
Reading ping stream...
Reading ping stream...
DONE #### Before setting SIG{CHLD} its value is...
$VAR1 = undef;
After setting SIG{CHLD} its value is...
$VAR1 = sub { "DUMMY" };
After require statement SIG{CHLD} value is...
$VAR1 = undef;
Calling ping now...
Reading ping stream...
Use of uninitialized value in iteration finalizer at mytest.pl line 21, line 1.
Unable to create sub named "" at mytest.pl line 21, line 1.

##
## use strict; use warnings; use Data::Dumper; use POSIX; print "Before setting SIG{CHLD} its value is...\n"; print Dumper($SIG{CHLD}); $SIG{CHLD}= \&REAPER; print "After setting SIG{CHLD} its value is...\n"; print Dumper($SIG{CHLD}); require Error::Vip; print "After require statement SIG{CHLD} value is...\n"; print Dumper($SIG{CHLD}); print "Calling ping now...\n"; my @cmd = ('ping', '-c', 1, '-n', '-A', '-W', 1, "164.55.89.62"); open (PING, '-|', @cmd) or confess("Can't ping -- $!"); while (my $ping = ) { print "Reading ping stream...\n"; } close PING; print "DONE\n"; sub REAPER { print "I AM A SIG{CHLD} handler\n" } #### package Error::Test; use strict; use warnings; use Net::DNS; my $resolver = new Net::DNS::Resolver(); 1;