diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 1999-11-04 08:26:19 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 1999-11-04 08:26:19 +0000 |
commit | 1542b985032ae6eca76d4ca4c21d2269e21544f1 (patch) | |
tree | 29942426b17d0905958ad71fd1da85cb571fe4fb /t | |
parent | da9274502cf796d52a9875e4c9f650b53901ad73 (diff) | |
parent | d20626d86bf3d55ba658adbc2678de4c519cbc6c (diff) | |
download | perl-1542b985032ae6eca76d4ca4c21d2269e21544f1.tar.gz |
Integrate with Sarathy.
p4raw-id: //depot/cfgperl@4513
Diffstat (limited to 't')
-rwxr-xr-x | t/io/nargv.t | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/t/io/nargv.t b/t/io/nargv.t new file mode 100755 index 0000000000..f32e40d6ee --- /dev/null +++ b/t/io/nargv.t @@ -0,0 +1,63 @@ +#!./perl + +print "1..5\n"; + +my $j = 1; +for $i ( 1,2,5,4,3 ) { + $file = mkfiles($i); + open(FH, "> $file") || die "can't create $file: $!"; + print FH "not ok " . $j++ . "\n"; + close(FH) || die "Can't close $file: $!"; +} + + +{ + local *ARGV; + local $^I = '.bak'; + local $_; + @ARGV = mkfiles(1..3); + $n = 0; + while (<>) { + print STDOUT "# initial \@ARGV: [@ARGV]\n"; + if ($n++ == 2) { + other(); + } + show(); + } +} + +$^I = undef; +@ARGV = mkfiles(1..3); +$n = 0; +while (<>) { + print STDOUT "#final \@ARGV: [@ARGV]\n"; + if ($n++ == 2) { + other(); + } + show(); +} + +sub show { + #warn "$ARGV: $_"; + s/^not //; + print; +} + +sub other { + print STDOUT "# Calling other\n"; + local *ARGV; + local *ARGVOUT; + local $_; + @ARGV = mkfiles(5, 4); + while (<>) { + print STDOUT "# inner \@ARGV: [@ARGV]\n"; + show(); + } +} + +sub mkfiles { + my @files = map { "scratch.$_" } @_; + return wantarray ? @files : $files[-1]; +} + +END { unlink map { ($_, "$_.bak") } mkfiles(1..5) } |