Greetings,
After much staring at the output of Devel/Peek/Peek.t test
output I found that if I add some IV stuff into the regular expression
for test # 21 I can get the perl 5.8.1 candidate to run OK on VMS.
A uni-diff of the change I needed to make would appear as:
--- [.ext.devel.peek]peek.t;1 Tue Feb 4 10:06:51 2003
+++ [.ext.devel.peek]peek.t Wed Feb 19 12:55:26 2003
@@ -431,9 +431,10 @@
TAINTEDDIR
)? MG_LEN = -?\d+
MG_PTR = $ADDR (?:"(?i:PATH)"|=> HEf_SVKEY
- SV = PV\\($ADDR\\) at $ADDR
+ SV = PVIV\\($ADDR\\) at $ADDR
REFCNT = \d+
FLAGS = \\(TEMP,POK,pPOK\\)
+ IV = 0
PV = $ADDR "(?i:PATH)"\\\0
CUR = \d+
LEN = \d+)
End of Diff
Of course if I really wanted to add that I might
rewrite test 21 to use one regexp on non VMS
platforms and another on VMS, or get fancy with matching ?IV or somesuch.
But I now wonder why VMS has an IV there and other platforms do not.
Note on VMS I see:
$ perl -e "print scalar(@ARGV)"
0
$ perl -e "print scalar(@ARGV)" arg
1
And on Solaris I see:
% perl -e 'print scalar(@ARGV),"\n"'
0
% perl -e 'print scalar(@ARGV),"\n"' arg
1
So why doesn't Solaris turn C<$ENV{PATH}=@ARGV;> into an IV?
Peter Prymmer