close STDOUT;
open STDOUT, ">out" or die;
my $pid = fork();
die "" if !defined $pid;
exit 0 if $pid; # parent exits
print "Message!\n"; #child prints to file
####
tie *STDOUT, TrapClass;
my $pid = fork();
die "" if !defined $pid;
exit 0 if $pid; # parent exits
print "Message!\n"; # child prints to file
package TrapClass;
sub TIEHANDLE {
my $class = shift;
open(my $fh, ">out") or die;
bless { fh => $fh }, $class;
}
sub PRINT {
my $self = shift;
my $fh = $self->{fh};
print $fh @_;
}
##
##
tie *STDOUT, TrapClass;
my $pid = fork();
die "" if !defined $pid;
exit 0 if $pid; # parent exits
exec "/bin/date"; # child prints to STDOUT!!
package TrapClass;
sub TIEHANDLE {
my $class = shift;
open(my $fh, ">out") or die;
bless { fh => $fh }, $class;
}
sub PRINT {
my $self = shift;
my $fh = $self->{fh};
print $fh @_;
}
##
##
close STDOUT;
open STDOUT, ">out" or die;
my $pid = fork();
die "" if !defined $pid;
exit 0 if $pid; # parent exits
exec "/bin/date"; #child prints to file