>>>>> "Ken" == Ken Williams <[EMAIL PROTECTED]> writes:
    Ken> In other words, it might find the wrong installed binary if
    Ken> you've got more than one.  It does this by searching a list
    Ken> of directories for executables with any of a list of names,
    Ken> including 'perl'.

True.  However the original poster is looking to invoke perl as part
of his test scripts and given that the test suite will usually be
invoked using FULLPERL, it makes sense to me to use that for any
additional perl invocations inside that test suite.  Adding the
following to Makefile.PL ensures that the tests dance with the perl
that brought them.

sub MY::test_via_script {
    my($self, $perl, $script) = @_;
    my $_perl = $perl;
    $_perl = "PERL_DL_NONLAZY=1 $perl" unless $Is_Win32;
    qq{\t$_perl}.q{ -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) 
}.qq{$script $perl
};

If the modules has a t/*.t testbed, then thie following is required instead:

sub MY::test_via_harness {
    my($self, $perl, $tests) = @_;
    my $_perl = $perl;
    $_perl = $Is_Win32 ? "PERL_DL_NONLAZY=1 $perl" : $_perl .= " -Mblib";
    "\t$_perl".q! -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -e 
'$$ENV{MYPERL}="$perl"; use Test::Harness qw(&runtests $$verbose); 
$$verbose=$(TEST_VERBOSE); runtests @ARGV;' !."$tests\n";
}

with the various tests invoking $ENV{MYPERL} instead of $^X.  The
above is not guarenteed to work on VMS.  It needs some well-placed
double quotes.

-- 
Stephen

"Farcical aquatic ceremonies are no basis for a system of government!"

Reply via email to