On Saturday, November 27, 2004, at 11:09PM, Craig A. Berry <[EMAIL PROTECTED]> 
wrote:

> When it gets to building the utilities, it fails like so:
>
>MCR Sys$Disk:[]miniperl.exe "-I[.lib]" [.UTILS]PERLDOC.PL
>Can't locate Config_heavy.pl in @INC (@INC contains: lib/VMS_AXP lib 
>perl_root:[lib.VMS_AXP.5_9_2] perl_root:[lib] perl_root:[lib.si
>te_perl.VMS_AXP] perl_root:[lib.site_perl] /perl_root/lib/site_perl .) at 
>lib/Config.pm line 62.
>Extracting "perldoc.com" (with variable substitutions)
>%RMS-E-FNF, file not found
>
>Since Config_heavy.pl does exist and is located in the same places
>that Config.pm is located, I don't understand why it can find the one
>but not the other.  I'll keep looking.

OK, what's happening is the utility generator scripts are doing the equivalent 
of 

use Config;
chdir 'somewhere_else';
$x = $Config{flirble};

The fetch of 'flirble' fails because it's depending on a relative path in @INC, 
and when it goes to require Config_heavy.pl, that relative path is no good 
anymore because of the chdir.  I can easily patch up the VMS build to put 
../lib as well as ./lib in @INC, but I wonder if that's the right way to go. 
Would it be kosher to make Config.pm's AUTOLOAD method work a little harder to 
find Config_heavy.pl in the same place it found Config.pm?  Otherwise it seems 
we're breaking the promise made by a successful C<use Config;> that we've 
loaded the module and can use what it's exporting whenever we want.

Reply via email to