summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>1999-11-04 08:26:19 +0000
committerJarkko Hietaniemi <jhi@iki.fi>1999-11-04 08:26:19 +0000
commit1542b985032ae6eca76d4ca4c21d2269e21544f1 (patch)
tree29942426b17d0905958ad71fd1da85cb571fe4fb /t
parentda9274502cf796d52a9875e4c9f650b53901ad73 (diff)
parentd20626d86bf3d55ba658adbc2678de4c519cbc6c (diff)
downloadperl-1542b985032ae6eca76d4ca4c21d2269e21544f1.tar.gz
Integrate with Sarathy.
p4raw-id: //depot/cfgperl@4513
Diffstat (limited to 't')
-rwxr-xr-xt/io/nargv.t63
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) }