More standard library test scripts
[perl.git] / t / lib / io_dup.t
1 #!./perl
2
3 BEGIN {
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
12 use IO::Handle;
13 use IO::File;
14
15 select(STDERR); $| = 1;
16 select(STDOUT); $| = 1;
17
18 print "1..6\n";
19
20 print "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
31 print $stdout "ok 2\n";
32 print $stderr "ok 3\n";
33 system 'echo ok 4';
34 system 'echo ok 5 1>&2';
35
36 $stderr->close;
37 $stdout->close;
38
39 $stdout->fdopen($dupout,"w");
40 $stderr->fdopen($duperr,"w");
41
42 system 'cat Io.dup';
43 unlink 'Io.dup';
44
45 print STDOUT "ok 6\n";