summaryrefslogtreecommitdiff
path: root/t/test.pl
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-12-07 22:21:25 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-12-07 22:21:25 +0000
commit17a740d51341832c6dd611e5bea020e58a1c5a93 (patch)
treeaef5c9011bca7b8223af7372eb5bd702eb382e3e /t/test.pl
parent85363d302da4cf6b10bf67ebe8976ce196d0a5ad (diff)
downloadperl-17a740d51341832c6dd611e5bea020e58a1c5a93.tar.gz
which_perl: delay as much a possible till runtime.
p4raw-id: //depot/perl@13525
Diffstat (limited to 't/test.pl')
-rw-r--r--t/test.pl63
1 files changed, 29 insertions, 34 deletions
diff --git a/t/test.pl b/t/test.pl
index 223a1973ea..c276fb3990 100644
--- a/t/test.pl
+++ b/t/test.pl
@@ -270,44 +270,39 @@ sub display {
# A somewhat safer version of the sometimes wrong $^X.
-BEGIN: {
- my $exe;
- eval {
- require Config;
- Config->import;
- };
- if ($@) {
- warn "test.pl had problems loading Config: $@";
- $exe = '';
- } else {
- $exe = $Config{_exe};
- }
-
- my $Perl = $^X;
-
- # This doesn't absolutize the path: beware of future chdirs().
- # We could do File::Spec->abs2rel() but that does getcwd()s,
- # which is a bit heavyweight to do here.
-
- if ($Perl =~ /^perl\Q$exe\E$/i) {
- eval {
- require File::Spec;
- };
+my $Perl;
+sub which_perl {
+ unless (defined $Perl) {
+ $Perl = $^X;
+
+ my $exe;
+ eval "require Config; Config->import";
if ($@) {
- warn "test.pl had problems loading File::Spec: $@";
+ warn "test.pl had problems loading Config: $@";
+ $exe = '';
} else {
- $Perl = File::Spec->catfile(File::Spec->curdir(), "perl$exe");
+ $exe = $Config{_exe};
}
+
+ # This doesn't absolutize the path: beware of future chdirs().
+ # We could do File::Spec->abs2rel() but that does getcwd()s,
+ # which is a bit heavyweight to do here.
+
+ if ($Perl =~ /^perl\Q$exe\E$/i) {
+ eval "require File::Spec";
+ if ($@) {
+ warn "test.pl had problems loading File::Spec: $@";
+ } else {
+ $Perl = File::Spec->catfile(File::Spec->curdir(), "perl$exe");
+ }
+ }
+
+ warn "which_perl: cannot find perl from $^X" unless -f $Perl;
+
+ # For subcommands to use.
+ $ENV{PERLEXE} = $Perl;
}
-
- warn "Can't generate which_perl from $^X" unless -f $Perl;
-
- # For subcommands to use.
- $ENV{PERLEXE} = $Perl;
-
- sub which_perl {
- return $Perl;
- }
+ return $Perl;
}
1;