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

Reply via email to