[shell changes from patch from perl5.003_12 to perl5.003_13]
[p5sagit/p5-mst-13.2.git] / t / lib / io_dup.t
CommitLineData
61f2b451 1#!./perl
2
3BEGIN {
4 @INC = '../lib';
5 require Config; import Config;
6 if ($Config{'extensions'} !~ /\bIO\b/ && $^O ne 'VMS') {
7 print "1..0\n";
8 exit 0;
9 }
10}
11
12use IO::Handle;
13use IO::File;
14
15select(STDERR); $| = 1;
16select(STDOUT); $| = 1;
17
18print "1..6\n";
19
20print "ok 1\n";
21
22$dupout = IO::Handle->new->fdopen( \*STDOUT ,"w");
23$duperr = IO::Handle->new->fdopen( \*STDERR ,"w");
24
25$stdout = \*STDOUT; bless $stdout, "IO::File"; # "IO::Handle";
26$stderr = \*STDERR; bless $stderr, "IO::Handle";
27
28$stdout->open( "Io.dup","w") || die "Can't open stdout";
29$stderr->fdopen($stdout,"w");
30
31print $stdout "ok 2\n";
32print $stderr "ok 3\n";
33system 'echo ok 4';
34system 'echo ok 5 1>&2';
35
36$stderr->close;
37$stdout->close;
38
39$stdout->fdopen($dupout,"w");
40$stderr->fdopen($duperr,"w");
41
42system 'cat Io.dup';
43unlink 'Io.dup';
44
45print STDOUT "ok 6\n";