my $origdir = cwd;
chdir dirname($0);
my $file = basename($0, '.PL');
-$file =~ s!_(pm)$!.$1!i;
+$file =~ s/_(pm)$/.$1/i;
my $useConfig;
my $Config_archname;
open my $fh, '<', $lib_file
or die "Could not open file '$lib_file' for reading: $!";
my $ConfigRegex = qr/(?:use|require)\s+Config(?:\s+|;)/;
+ my $found_config = 0;
while (defined($_ = <$fh>)) {
# crude heuristics to check that we were using Config
if (/^\s*$ConfigRegex/ || /^\s*eval.*$ConfigRegex/) {
- $expand_config_vars = 0;
+ $found_config = 1;
last;
}
}
- $expand_config_vars = 1;
+ $expand_config_vars = $found_config ? 0 : 1;
HERE
$expand_config_vars = 0 if $@;
}
reverse split / /, $Config{inc_version_list};
$Config_inc_version_list =
@Config_inc_version_list ?
- qq(@Config_inc_version_list) : q(());
+ qq(qw(@Config_inc_version_list)) : q(());
} else {
$useConfig = 'use Config;';
$Config_archname = q($Config{archname});
checks to see if a directory called $dir/$archname/auto exists.
If so the $dir/$archname directory is assumed to be a corresponding
architecture specific directory and is added to @INC in front of $dir.
+lib.pm also checks if directories called $dir/$version and $dir/$version/$archname
+exist and adds these directories to @INC.
The current value of C<$archname> can be found with this command:
perl -V:archname
+The corresponding command to get the current value of C<$version> is:
+
+ perl -V:version
+
To avoid memory leaks, all trailing duplicate entries in @INC are
removed.