Commit | Line | Data |
61f2b451 |
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"; |