change#4502 was missing a file
Gurusamy Sarathy [Sun, 31 Oct 1999 20:56:06 +0000 (20:56 +0000)]
p4raw-link: @4502 on //depot/perl: 18708f5a7334d978ddf7562cb7f58e28bec6e4ed

p4raw-id: //depot/perl@4503

t/io/nargv.t [new file with mode: 0755]

diff --git a/t/io/nargv.t b/t/io/nargv.t
new file mode 100755 (executable)
index 0000000..f32e40d
--- /dev/null
@@ -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) }