# run a fresh perl, so we'll brute force launder everything for you
my $sep;
- if (! eval 'use Config; 1') {
+ if (! eval 'require Config; 1') {
warn "test.pl had problems loading Config: $@";
$sep = ':';
} else {
- $sep = $Config{path_sep};
+ $sep = $Config::Config{path_sep};
}
my @keys = grep {exists $ENV{$_}} qw(CDPATH IFS ENV BASH_ENV);
return $Perl if $^O eq 'VMS';
my $exe;
- if (! eval 'use Config; 1') {
+ if (! eval 'require Config; 1') {
warn "test.pl had problems loading Config: $@";
$exe = '';
} else {
- $exe = $Config{_exe};
+ $exe = $Config::Config{_exe};
}
$exe = '' unless defined $exe;
if ($Perl =~ /^perl\Q$exe\E$/i) {
my $perl = "perl$exe";
- if (! eval 'use File::Spec; 1') {
+ if (! eval 'require File::Spec; 1') {
warn "test.pl had problems loading File::Spec: $@";
$Perl = "./$perl";
} else {
my $status = $?;
# Clean up the results into something a bit more predictable.
- $results =~ s/\n+$//;
+ $results =~ s/\n+$//;
$results =~ s/at\s+$::tempfile_regexp\s+line/at - line/g;
$results =~ s/of\s+$::tempfile_regexp\s+aborted/of - aborted/g;
sub fresh_perl_is {
my($prog, $expected, $runperl_args, $name) = @_;
+
+ # _fresh_perl() is going to clip the trailing newlines off the result.
+ # This will make it so the test author doesn't have to know that.
+ $expected =~ s/\n+$//;
+
local $Level = 2;
_fresh_perl($prog,
sub { @_ ? $_[0] eq $expected : $expected },
# Use a watchdog thread because either 'threads' is loaded,
# or fork() failed
- if (eval 'use threads; 1') {
+ if (eval 'require threads; 1') {
threads->create(sub {
# Load POSIX if available
eval { require POSIX; };