- Moved unused argc, temp variable into small scope.
[dragonfly.git] / contrib / perl5 / t / lib / io_dup.t
1 #!./perl
2
3 BEGIN {
4     unless(grep /blib/, @INC) {
5         chdir 't' if -d 't';
6         @INC = '../lib' if -d '../lib';
7     }
8 }
9
10 use Config;
11
12 BEGIN {
13     if(-d "lib" && -f "TEST") {
14         if ($Config{'extensions'} !~ /\bIO\b/ && $^O ne 'VMS') {
15             print "1..0\n";
16             exit 0;
17         }
18     }
19 }
20
21 use IO::Handle;
22 use IO::File;
23
24 select(STDERR); $| = 1;
25 select(STDOUT); $| = 1;
26
27 print "1..6\n";
28
29 print "ok 1\n";
30
31 $dupout = IO::Handle->new->fdopen( \*STDOUT ,"w");
32 $duperr = IO::Handle->new->fdopen( \*STDERR ,"w");
33
34 $stdout = \*STDOUT; bless $stdout, "IO::File"; # "IO::Handle";
35 $stderr = \*STDERR; bless $stderr, "IO::Handle";
36
37 $stdout->open( "Io.dup","w") || die "Can't open stdout";
38 $stderr->fdopen($stdout,"w");
39
40 print $stdout "ok 2\n";
41 print $stderr "ok 3\n";
42 if ($^O eq 'MSWin32') {
43     print `echo ok 4`;
44     print `echo ok 5 1>&2`; # does this *really* work?
45 }
46 else {
47     system 'echo ok 4';
48     system 'echo ok 5 1>&2';
49 }
50
51 $stderr->close;
52 $stdout->close;
53
54 $stdout->fdopen($dupout,"w");
55 $stderr->fdopen($duperr,"w");
56
57 if ($^O eq 'MSWin32') { print `type Io.dup` }
58 else                  { system 'cat Io.dup' }
59 unlink 'Io.dup';
60
61 print STDOUT "ok 6\n";