On 07/11/02 09:21 -0800, Randal L. Schwartz wrote:
> >>>>> "Nicholas" == Nicholas Clark <[EMAIL PROTECTED]> writes:
> 
> Nicholas> Oh. I see. It's this sinful line in C.pm:
> 
> Nicholas>     $o->call('makefile_pl', '"perl Makefile.PL"', 2);
> 
> 
> Nicholas> Inline's great.
> 
> Nicholas> Except that line which is wrong.
> 
> Nicholas> Who said the first perl in my path was the perl I was running?
> 
> Hmm.  The problem is, you could be running one Perl today,
> and another Perl tomorrow, but the cache has to be made with a
> specific Perl.
> 
> Does $^X need to be part of the MD5 hash?
> Or should we always force $Config{perlpath} ?
> 
> Hmm.  Interesting dilemma.

The correct thing to do is to check the $Config{apiversion}. I currently
store this in the .inl file. It doesn't look like I am checking this
value. I'll probably add that to the next release.

There is no .inl file for installed modules, but that doesn't matter
because the install trees are set up so that you shouldn't ever get the
wrong version.

For the record, the only value in the MD5 hash is the verbatim source
code. Other parameters are stored out of band in the .inl file. Think of
the MD5 hash as a trick to shorten your source code to a virtually
unique 22 byte value. In other words, you could just put the original
source code in the .inl file and compare to that. That's how Ruby's
Inline does it, more or less.

Cheers, Brian

Reply via email to