12 my $devnull = File::Spec->devnull;
14 open(try, '>Io_argv1.tmp') || (die "Can't open temp file: $!");
18 if ($^O eq 'MSWin32') {
19 $x = `.\\perl -e "while (<>) {print \$.,\$_;}" Io_argv1.tmp Io_argv1.tmp`;
21 elsif ($^O eq 'NetWare') {
22 $x = `perl -e "while (<>) {print \$.,\$_;}" Io_argv1.tmp Io_argv1.tmp`;
25 $x = `./perl -e 'while (<>) {print \$.,\$_;}' Io_argv1.tmp Io_argv1.tmp`;
27 if ($x eq "1a line\n2a line\n") {print "ok 1\n";} else {print "not ok 1\n";}
29 if ($^O eq 'MSWin32') {
30 $x = `.\\perl -le "print 'foo'" | .\\perl -e "while (<>) {print \$_;}" Io_argv1.tmp -`;
32 elsif ($^O eq 'NetWare') {
33 $x = `perl -le "print 'foo'" | perl -e "while (<>) {print \$_;}" Io_argv1.tmp -`;
36 $x = `echo foo|./perl -e 'while (<>) {print $_;}' Io_argv1.tmp -`;
38 if ($x eq "a line\nfoo\n") {print "ok 2\n";} else {print "not ok 2\n";}
40 if ($^O eq 'MSWin32') {
41 $x = `.\\perl -le "print 'foo'" |.\\perl -e "while (<>) {print \$_;}"`;
43 elsif ($^O eq 'NetWare') {
44 $x = `perl -le "print 'foo'" | perl -e "while (<>) {print \$_;}"`;
47 $x = `echo foo|./perl -e 'while (<>) {print $_;}'`;
49 if ($x eq "foo\n") {print "ok 3\n";} else {print "not ok 3 :$x:\n";}
51 @ARGV = ('Io_argv1.tmp', 'Io_argv1.tmp', $devnull, 'Io_argv1.tmp');
55 if ($. == 3) {print "ok 4\n";} else {print "not ok 4\n";}
59 if ($y eq "1a line\n2a line\n3a line\n")
64 open(try, '>Io_argv1.tmp') or die "Can't open temp file: $!";
66 open(try, '>Io_argv2.tmp') or die "Can't open temp file: $!";
68 @ARGV = ('Io_argv1.tmp', 'Io_argv2.tmp');
77 open(try, '<Io_argv1.tmp') or die "Can't open temp file: $!";
79 open(try, '<Io_argv2.tmp') or die "Can't open temp file: $!";
84 eof try or print 'not ';
87 eof NEVEROPENED or print 'not ';
90 open STDIN, 'Io_argv1.tmp' or die $!;
92 !eof() or print 'not ';
95 <> eq "ok 6\n" or print 'not ';
98 open STDIN, $devnull or die $!;
100 eof() or print 'not ';
103 @ARGV = ('Io_argv1.tmp');
104 !eof() or print 'not ';
107 @ARGV = ($devnull, $devnull);
108 !eof() or print 'not ';
111 close ARGV or die $!;
112 eof() or print 'not ';
117 open F, 'Io_argv1.tmp' or die;
119 print "not " if defined(<F>); # should hit eof
121 open F, $devnull or die;
122 print "not " unless defined(<F>);
124 print "not " if defined(<F>);
126 print "not " if defined(<F>);
128 open F, $devnull or die; # restart cycle again
129 print "not " unless defined(<F>);
131 print "not " if defined(<F>);
136 END { unlink 'Io_argv1.tmp', 'Io_argv1.tmp.bak', 'Io_argv2.tmp', 'Io_argv2.tmp.bak' }