Craig A. Berry wrote:
> I've discovered three problems with installperl as it ships with
> 5.6.0. I don't have a patch yet because I don't have the whole
> shebang working yet.
>
> 1). The Config variable 'version' is documented in Config.pm but it
> does not exist in my build. This was from a -des configure; do we
> have a problem in configure.com or is the pod in Config.pm out of
> date? Either way we're hosed when installperl tries to use it.
>
> $ perl -e "use Config; print $Config{version};"
> $ perl -e "use Config; print $Config{pm_apiversion};"
> 5_6_0
Dan and I patched around this a couple of times IIRC. Dan had set things
to either version .eqs. "5_6_0" or "5.6.0" finally. He was correct I was
wrong having based my patching on a unix build where the "Binary compatible
with 5.005?" question defaults to affirmative hence version='5.005'; on
Unix. But I think we should be more forward thinking on VMS :-)
> 2). The Config variable 'arch' is neither documented nor exists, but
> it is used in a VMS-specific bit of installperl. Using 'archname'
> instead seems to work fine.
>
> $ perl -e "use Config; print $Config{arch};"
> $ perl -e "use Config; print $Config{archname};"
> VMS_AXP
Bummer - does putting a
arch='VMS-AXP'
line into config.sh before the initial mms to build perl help?
> 3). After hacking around the previous two problems, I'm stuck on a
> stupid array problem which causes the list of core files to be merely
> a list of 1's. Here's a greatly reduced but equivalent example:
>
> $ type array_test.pl
> @a1 = ('XXXa','XXXb', 'XXXc');
> @array = map { s|^XXX||i } @a1;
> print "@array\n";
> $ perl array_test.pl
> 1 1 1
>
> I would expect to get 'a b c' rather than '1 1 1' as the output. The
> block in a map is supposed to be interpreted in array context, so it
> should not be setting $_ to the number of substitutions, which would
> be one guess for what's happening. If anyone knows what's going on
> I'd like to know both for my own education and so I can get
> installperl working.
$ type tt.pl
@a1 = ('XXXa','XXXb', 'XXXc');
# @array = map { s|^XXX||i } @a1;
@array = grep { s|^XXX||i } @a1;
print "@array\n";
$ perl tt.pl
a b c
HTH
Peter Prymmer