in reply to codeopen(INPUT, "<INPUT") gives INPUT opened only for output
#!/usr/bin/perl -lw use POSIX; my $TRAP = POSIX::tmpnam(); print STDERR "STDOUT= ".fileno(STDOUT); close(STDOUT); print STDERR "STDOUT= ".fileno(STDOUT); open(STDOUT, ">$TRAP") || die("$!: $TRAP"); #+> didn't work eval "print 'Waka waka!'"; seek(STDOUT, 0, 0); print STDERR "STDOUT= ".fileno(STDOUT); close(STDOUT); open(STDOUT, ">-"); print STDERR "STDOUT= ".fileno(STDOUT); open(INPUT, "<$TRAP") || die("$!: $TRAP"); $chldoutput = <INPUT>;
open(MYSTDOUT, ">&STDOUT");
open(STDOUT, ">&MYSTDOUT");
|
|---|