runperl may modify arguments passed to it.
authorCraig A. Berry <craigberry@mac.com>
Sat, 19 Dec 2009 16:05:12 +0000 (10:05 -0600)
committerCraig A. Berry <craigberry@mac.com>
Sat, 19 Dec 2009 16:05:12 +0000 (10:05 -0600)
So be cautious about reusing them.  In this case, filenames acquired
quotes in them, which are not legal in filenames on VMS.

t/io/inplace.t

index 2ab5bf7..a278818 100644 (file)
@@ -57,7 +57,11 @@ SKIP:
        
        is(scalar(@ARGV), 0, "consumed ARGV");
        
-       is( runperl( prog => 'print<>;', args => \@ifiles ),
+#      runperl may quote its arguments, so don't expect to be able
+#      to reuse things you send it.
+
+       my @my_ifiles = @ifiles;
+       is( runperl( prog => 'print<>;', args => \@my_ifiles ),
            "foobar\nfoobar\nfoobar\n",
            "normal inplace edit");
     }
@@ -78,7 +82,8 @@ SKIP:
        
        is(scalar(@ARGV), 0, "consumed ARGV");
        
-       is( runperl( prog => 'print<>;', args => \@ifiles ),
+       my @my_ifiles = @ifiles;
+       is( runperl( prog => 'print<>;', args => \@my_ifiles ),
            "foobar\nfoobar\nfoobar\n",
            "normal inplace edit");
     }