diff options
author | H.Merijn Brand <h.m.brand@xs4all.nl> | 2016-10-22 13:55:48 +0200 |
---|---|---|
committer | H.Merijn Brand <h.m.brand@xs4all.nl> | 2016-11-11 16:27:20 +0100 |
commit | 3d7c117d5246fe5390f3fda7bd31308799d54201 (patch) | |
tree | 25ed91492a78660a701502955918ad1c0a5737bc | |
parent | 32db2dd39faf0a339c2c26769b98a1924ca09892 (diff) | |
download | perl-3d7c117d5246fe5390f3fda7bd31308799d54201.tar.gz |
Patch unit tests to explicitly insert "." into @INC when needed.
require calls now require ./ to be prepended to the file since . is no
longer guaranteed to be in @INC.
92 files changed, 116 insertions, 109 deletions
diff --git a/Makefile.SH b/Makefile.SH index b1c4765c11..491d1a6237 100755 --- a/Makefile.SH +++ b/Makefile.SH @@ -345,7 +345,7 @@ RUN_PERL = \$(LDLIBPTH) \$(RUN) $perl\$(EXE_EXT) $spitshell >>$Makefile <<!GROK!THIS! # Macros to invoke a copy of our fully operational perl during the build. PERL_EXE = perl\$(EXE_EXT) -RUN_PERL = \$(LDLIBPTH) \$(RUN) ./perl\$(EXE_EXT) -Ilib +RUN_PERL = \$(LDLIBPTH) \$(RUN) ./perl\$(EXE_EXT) -Ilib -I. !GROK!THIS! ;; esac diff --git a/Porting/checkcfgvar.pl b/Porting/checkcfgvar.pl index 4dc93df85e..601be184ae 100755 --- a/Porting/checkcfgvar.pl +++ b/Porting/checkcfgvar.pl @@ -36,7 +36,7 @@ GetOptions ( $default and $default =~ s/^'(.*)'$/$1/; # Will be quoted on generation -require 'regen/regen_lib.pl' if $opt_r; +require './regen/regen_lib.pl' if $opt_r; my $MASTER_CFG = "config_h.SH"; # Inclusive bounds on the main part of the file, $section == 1 below: diff --git a/Porting/makemeta b/Porting/makemeta index 9259b20fb0..a5fa5a45dc 100644 --- a/Porting/makemeta +++ b/Porting/makemeta @@ -65,7 +65,7 @@ use CPAN::Meta; BEGIN { # Get function prototypes - require 'regen/regen_lib.pl'; + require './regen/regen_lib.pl'; } use Maintainers qw(%Modules get_module_files get_module_pat); diff --git a/Porting/new-perldelta.pl b/Porting/new-perldelta.pl index 09b778333b..47376cb8fa 100644 --- a/Porting/new-perldelta.pl +++ b/Porting/new-perldelta.pl @@ -4,7 +4,7 @@ use strict; # This needs to be able to run from a clean checkout, hence assume only system # perl, which may be too old to have autodie -require 'Porting/pod_lib.pl'; +require './Porting/pod_lib.pl'; my $state = get_pod_metadata(1); my (undef, $old_major, $old_minor) = @{$state->{delta_version}}; diff --git a/Porting/pod_rules.pl b/Porting/pod_rules.pl index 37cbb9cca1..7bf1380077 100644 --- a/Porting/pod_rules.pl +++ b/Porting/pod_rules.pl @@ -32,8 +32,8 @@ if (ord("A") == 193) { # plan9 => 'plan9/mkfile', ); -require 'Porting/pod_lib.pl'; -require 'Porting/manifest_lib.pl'; +require './Porting/pod_lib.pl'; +require './Porting/manifest_lib.pl'; sub my_die; # process command-line switches diff --git a/TestInit.pm b/TestInit.pm index f4ed6fd93d..f9a5e916cc 100644 --- a/TestInit.pm +++ b/TestInit.pm @@ -47,7 +47,7 @@ sub import { } elsif ($_ eq 'T') { $chdir = '..' unless -f 't/TEST' && -f 'MANIFEST' && -d 'lib' && -d 'ext'; - @INC = 'lib'; + @INC = qw/ lib . /; $setopt = 1; } else { die "Unknown option '$_'"; diff --git a/autodoc.pl b/autodoc.pl index ce4846eb60..597607cc98 100644 --- a/autodoc.pl +++ b/autodoc.pl @@ -29,8 +29,8 @@ if (@ARGV) { chdir $workdir or die "Couldn't chdir to '$workdir': $!"; } -require 'regen/regen_lib.pl'; -require 'regen/embed_lib.pl'; +require './regen/regen_lib.pl'; +require './regen/embed_lib.pl'; # # See database of global and static function prototypes in embed.fnc diff --git a/cpan/Devel-PPPort/devel/mktodo b/cpan/Devel-PPPort/devel/mktodo index c5c2a9b36c..2eb9ea3043 100644 --- a/cpan/Devel-PPPort/devel/mktodo +++ b/cpan/Devel-PPPort/devel/mktodo @@ -17,7 +17,7 @@ use strict; use Getopt::Long; -require 'devel/devtools.pl'; +require './devel/devtools.pl'; our %opt = ( base => 0, diff --git a/cpan/Devel-PPPort/devel/mktodo.pl b/cpan/Devel-PPPort/devel/mktodo.pl index 9345a233ce..c479eab5d1 100644 --- a/cpan/Devel-PPPort/devel/mktodo.pl +++ b/cpan/Devel-PPPort/devel/mktodo.pl @@ -22,7 +22,7 @@ use IO::Select; use Config; use Time::HiRes qw( gettimeofday tv_interval ); -require 'devel/devtools.pl'; +require './devel/devtools.pl'; our %opt = ( debug => 0, diff --git a/cpan/Devel-PPPort/devel/regenerate b/cpan/Devel-PPPort/devel/regenerate index dad533808a..bc1742d938 100644 --- a/cpan/Devel-PPPort/devel/regenerate +++ b/cpan/Devel-PPPort/devel/regenerate @@ -20,7 +20,7 @@ use File::Copy; use Getopt::Long; use Pod::Usage; -require 'devel/devtools.pl'; +require './devel/devtools.pl'; our %opt = ( check => 1, diff --git a/cpan/Devel-PPPort/devel/scanprov b/cpan/Devel-PPPort/devel/scanprov index 86910e4393..804524cb4a 100644 --- a/cpan/Devel-PPPort/devel/scanprov +++ b/cpan/Devel-PPPort/devel/scanprov @@ -17,7 +17,7 @@ use strict; use Getopt::Long; -require 'parts/ppptools.pl'; +require './parts/ppptools.pl'; our %opt = ( mode => 'check', diff --git a/cpan/Devel-PPPort/parts/apicheck.pl b/cpan/Devel-PPPort/parts/apicheck.pl index ac119a6a7b..69d85027fd 100644 --- a/cpan/Devel-PPPort/parts/apicheck.pl +++ b/cpan/Devel-PPPort/parts/apicheck.pl @@ -15,7 +15,7 @@ ################################################################################ use strict; -require 'parts/ppptools.pl'; +require './parts/ppptools.pl'; if (@ARGV) { my $file = pop @ARGV; diff --git a/cpan/Math-BigInt/t/bare_mbf.t b/cpan/Math-BigInt/t/bare_mbf.t index 6b9af66eaa..2167dca551 100644 --- a/cpan/Math-BigInt/t/bare_mbf.t +++ b/cpan/Math-BigInt/t/bare_mbf.t @@ -13,4 +13,4 @@ our ($CLASS, $CALC); $CLASS = "Math::BigFloat"; $CALC = "Math::BigInt::BareCalc"; # backend -require 't/bigfltpm.inc'; # all tests here for sharing +require './t/bigfltpm.inc'; # all tests here for sharing diff --git a/cpan/Math-BigInt/t/bare_mbi.t b/cpan/Math-BigInt/t/bare_mbi.t index 93dbc7a131..f2b768d0fa 100644 --- a/cpan/Math-BigInt/t/bare_mbi.t +++ b/cpan/Math-BigInt/t/bare_mbi.t @@ -15,4 +15,4 @@ our ($CLASS, $CALC); $CLASS = "Math::BigInt"; $CALC = "Math::BigInt::BareCalc"; # backend -require 't/bigintpm.inc'; # perform same tests as bigintpm.t +require './t/bigintpm.inc'; # perform same tests as bigintpm.t diff --git a/cpan/Math-BigInt/t/bare_mif.t b/cpan/Math-BigInt/t/bare_mif.t index d63e3da8a7..e7b977431b 100644 --- a/cpan/Math-BigInt/t/bare_mif.t +++ b/cpan/Math-BigInt/t/bare_mif.t @@ -21,4 +21,4 @@ $mbf = 'Math::BigFloat'; is(Math::BigInt->config()->{lib}, 'Math::BigInt::BareCalc', 'Math::BigInt->config()->{lib}'); -require 't/mbimbf.inc'; +require './t/mbimbf.inc'; diff --git a/cpan/Math-BigInt/t/bigfltpm.t b/cpan/Math-BigInt/t/bigfltpm.t index 629cb56998..a256b9fc01 100644 --- a/cpan/Math-BigInt/t/bigfltpm.t +++ b/cpan/Math-BigInt/t/bigfltpm.t @@ -33,4 +33,4 @@ SKIP: { is(ref($e->{_e}->[0]), '', '$e->{_e}->[0] is a scalar'); } -require 't/bigfltpm.inc'; # all tests here for sharing +require './t/bigfltpm.inc'; # all tests here for sharing diff --git a/cpan/Math-BigInt/t/bigintpm.t b/cpan/Math-BigInt/t/bigintpm.t index e87e05a6fa..cd552ca61d 100644 --- a/cpan/Math-BigInt/t/bigintpm.t +++ b/cpan/Math-BigInt/t/bigintpm.t @@ -44,4 +44,4 @@ is($x, "9903520314281112085086151826", ############################################################################# # all the other tests -require 't/bigintpm.inc'; # all tests here for sharing +require './t/bigintpm.inc'; # all tests here for sharing diff --git a/cpan/Math-BigInt/t/mbf_ali.t b/cpan/Math-BigInt/t/mbf_ali.t index b44b64c55f..3999aa7e82 100644 --- a/cpan/Math-BigInt/t/mbf_ali.t +++ b/cpan/Math-BigInt/t/mbf_ali.t @@ -12,4 +12,4 @@ use Math::BigFloat; our $CLASS; $CLASS = 'Math::BigFloat'; -require 't/alias.inc'; +require './t/alias.inc'; diff --git a/cpan/Math-BigInt/t/mbi_ali.t b/cpan/Math-BigInt/t/mbi_ali.t index e65aa3c489..45ed6c4dc6 100644 --- a/cpan/Math-BigInt/t/mbi_ali.t +++ b/cpan/Math-BigInt/t/mbi_ali.t @@ -12,4 +12,4 @@ use Math::BigInt; our $CLASS; $CLASS = 'Math::BigInt'; -require 't/alias.inc'; +require './t/alias.inc'; diff --git a/cpan/Math-BigInt/t/mbimbf.t b/cpan/Math-BigInt/t/mbimbf.t index dd65da4f5e..107da310d0 100644 --- a/cpan/Math-BigInt/t/mbimbf.t +++ b/cpan/Math-BigInt/t/mbimbf.t @@ -15,7 +15,7 @@ use Math::BigFloat; our $mbi = 'Math::BigInt'; our $mbf = 'Math::BigFloat'; -require 't/mbimbf.inc'; +require './t/mbimbf.inc'; # some tests that won't work with subclasses, since the things are only # guaranteed in the Math::Big(Int|Float) (unless subclass chooses to support diff --git a/cpan/Math-BigInt/t/sub_ali.t b/cpan/Math-BigInt/t/sub_ali.t index 6023be3624..2f145b4e23 100644 --- a/cpan/Math-BigInt/t/sub_ali.t +++ b/cpan/Math-BigInt/t/sub_ali.t @@ -14,4 +14,4 @@ use Math::BigInt::Subclass; our $CLASS; $CLASS = 'Math::BigInt::Subclass'; -require 't/alias.inc'; +require './t/alias.inc'; diff --git a/cpan/Math-BigInt/t/sub_mbf.t b/cpan/Math-BigInt/t/sub_mbf.t index 69311d4a4f..e43858114c 100644 --- a/cpan/Math-BigInt/t/sub_mbf.t +++ b/cpan/Math-BigInt/t/sub_mbf.t @@ -14,7 +14,7 @@ our ($CLASS, $CALC); $CLASS = "Math::BigFloat::Subclass"; $CALC = Math::BigFloat->config()->{lib}; # backend -require 't/bigfltpm.inc'; # perform same tests as bigfltpm +require './t/bigfltpm.inc'; # perform same tests as bigfltpm ############################################################################### # Now do custom tests for Subclass itself diff --git a/cpan/Math-BigInt/t/sub_mbi.t b/cpan/Math-BigInt/t/sub_mbi.t index e991ad93f2..500f2a4e9c 100644 --- a/cpan/Math-BigInt/t/sub_mbi.t +++ b/cpan/Math-BigInt/t/sub_mbi.t @@ -14,7 +14,7 @@ our ($CLASS, $CALC); $CLASS = "Math::BigInt::Subclass"; $CALC = "Math::BigInt::Calc"; # backend -require 't/bigintpm.inc'; # perform same tests as bigintpm +require './t/bigintpm.inc'; # perform same tests as bigintpm ############################################################################### # Now do custom tests for Subclass itself diff --git a/cpan/Math-BigInt/t/sub_mif.t b/cpan/Math-BigInt/t/sub_mif.t index 96bf82fdd4..250db3f189 100644 --- a/cpan/Math-BigInt/t/sub_mif.t +++ b/cpan/Math-BigInt/t/sub_mif.t @@ -17,4 +17,4 @@ our ($mbi, $mbf); $mbi = 'Math::BigInt::Subclass'; $mbf = 'Math::BigFloat::Subclass'; -require 't/mbimbf.inc'; +require './t/mbimbf.inc'; diff --git a/cpan/Math-BigInt/t/upgrade.t b/cpan/Math-BigInt/t/upgrade.t index 2307a48c29..7ed4378303 100644 --- a/cpan/Math-BigInt/t/upgrade.t +++ b/cpan/Math-BigInt/t/upgrade.t @@ -19,4 +19,4 @@ is(Math::BigInt->upgrade(), "Math::BigFloat", is(Math::BigInt->downgrade() || "", "", qq/Math::BigInt->downgrade() || ""/); -require 't/upgrade.inc'; # all tests here for sharing +require './t/upgrade.inc'; # all tests here for sharing diff --git a/cpan/Math-BigInt/t/upgradef.t b/cpan/Math-BigInt/t/upgradef.t index d2088903df..dbe373fd23 100644 --- a/cpan/Math-BigInt/t/upgradef.t +++ b/cpan/Math-BigInt/t/upgradef.t @@ -67,4 +67,4 @@ is($z, 321, . q| $z = $x->badd($y); $z|); # not yet: -#require 't/upgrade.inc'; # all tests here for sharing +#require './t/upgrade.inc'; # all tests here for sharing diff --git a/cpan/Math-BigInt/t/with_sub.t b/cpan/Math-BigInt/t/with_sub.t index 2c54107b67..299eea51e0 100644 --- a/cpan/Math-BigInt/t/with_sub.t +++ b/cpan/Math-BigInt/t/with_sub.t @@ -19,4 +19,4 @@ $CALC = "Math::BigInt::Calc"; # backend is(Math::BigFloat->config()->{with}, 'Math::BigInt::Calc', 'Math::BigFloat->config()->{with}'); -require 't/bigfltpm.inc'; # all tests here for sharing +require './t/bigfltpm.inc'; # all tests here for sharing diff --git a/cpan/Math-BigRat/t/bigfltrt.t b/cpan/Math-BigRat/t/bigfltrt.t index 4f36bde3ea..97f8032586 100644 --- a/cpan/Math-BigRat/t/bigfltrt.t +++ b/cpan/Math-BigRat/t/bigfltrt.t @@ -16,4 +16,4 @@ $CALC = "Math::BigInt::Calc"; pass(); # fails still too many tests -#require 't/bigfltpm.inc'; # all tests here for sharing +#require './t/bigfltpm.inc'; # all tests here for sharing diff --git a/cpan/Math-BigRat/t/bigratpm.t b/cpan/Math-BigRat/t/bigratpm.t index a5bb9471e5..675d1e962e 100644 --- a/cpan/Math-BigRat/t/bigratpm.t +++ b/cpan/Math-BigRat/t/bigratpm.t @@ -11,4 +11,4 @@ our ($CLASS, $CALC); $CLASS = "Math::BigRat"; $CALC = "Math::BigInt::Calc"; # backend -require 't/bigratpm.inc'; # all tests here for sharing +require './t/bigratpm.inc'; # all tests here for sharing diff --git a/cpan/perlfaq/lib/perlfaq5.pod b/cpan/perlfaq/lib/perlfaq5.pod index 22e88b8dd9..239f92a530 100644 --- a/cpan/perlfaq/lib/perlfaq5.pod +++ b/cpan/perlfaq/lib/perlfaq5.pod @@ -1278,7 +1278,7 @@ comes with Perl tries to convert C include files to Perl code, which can be C<require>d. FIONREAD ends up defined as a function in the I<sys/ioctl.ph> file: - require 'sys/ioctl.ph'; + require './sys/ioctl.ph'; $size = pack("L", 0); ioctl(FH, FIONREAD(), $size) or die "Couldn't call ioctl: $!\n"; @@ -1378,7 +1378,7 @@ used for things that Perl opened itself, even if it was a dup of a numeric descriptor as with C<MHCONTEXT> above. But if you really have to, you may be able to do this: - require 'sys/syscall.ph'; + require './sys/syscall.ph'; my $rc = syscall(SYS_close(), $fd + 0); # must force numeric die "can't sysclose $fd: $!" unless $rc == -1; diff --git a/cpan/perlfaq/lib/perlfaq8.pod b/cpan/perlfaq/lib/perlfaq8.pod index 3431417163..42b27ab127 100644 --- a/cpan/perlfaq/lib/perlfaq8.pod +++ b/cpan/perlfaq/lib/perlfaq8.pod @@ -239,7 +239,7 @@ and in pixels: This is more portable than the raw C<ioctl>, but not as illustrative: - require 'sys/ioctl.ph'; + require './sys/ioctl.ph'; die "no TIOCGWINSZ " unless defined &TIOCGWINSZ; open(my $tty_fh, "+</dev/tty") or die "No tty: $!"; unless (ioctl($tty_fh, &TIOCGWINSZ, $winsize='')) { diff --git a/dist/Thread-Queue/t/01_basic.t b/dist/Thread-Queue/t/01_basic.t index 2983f0b700..4ec51957ae 100644 --- a/dist/Thread-Queue/t/01_basic.t +++ b/dist/Thread-Queue/t/01_basic.t @@ -13,7 +13,7 @@ use threads; use Thread::Queue; if ($] == 5.008) { - require 't/test.pl'; # Test::More work-alike for Perl 5.8.0 + require './t/test.pl'; # Test::More work-alike for Perl 5.8.0 } else { require Test::More; } diff --git a/dist/Thread-Queue/t/02_refs.t b/dist/Thread-Queue/t/02_refs.t index 0cebdc1db3..fdf8f6bad2 100644 --- a/dist/Thread-Queue/t/02_refs.t +++ b/dist/Thread-Queue/t/02_refs.t @@ -14,7 +14,7 @@ use threads::shared; use Thread::Queue; if ($] == 5.008) { - require 't/test.pl'; # Test::More work-alike for Perl 5.8.0 + require './t/test.pl'; # Test::More work-alike for Perl 5.8.0 } else { require Test::More; } diff --git a/dist/Thread-Queue/t/03_peek.t b/dist/Thread-Queue/t/03_peek.t index d543b59469..29ef75e7fe 100644 --- a/dist/Thread-Queue/t/03_peek.t +++ b/dist/Thread-Queue/t/03_peek.t @@ -13,7 +13,7 @@ use threads; use Thread::Queue; if ($] == 5.008) { - require 't/test.pl'; # Test::More work-alike for Perl 5.8.0 + require './t/test.pl'; # Test::More work-alike for Perl 5.8.0 } else { require Test::More; } diff --git a/dist/Thread-Queue/t/05_extract.t b/dist/Thread-Queue/t/05_extract.t index de0e78bfd0..d8cb417be9 100644 --- a/dist/Thread-Queue/t/05_extract.t +++ b/dist/Thread-Queue/t/05_extract.t @@ -13,7 +13,7 @@ use threads; use Thread::Queue; if ($] == 5.008) { - require 't/test.pl'; # Test::More work-alike for Perl 5.8.0 + require './t/test.pl'; # Test::More work-alike for Perl 5.8.0 } else { require Test::More; } diff --git a/dist/Thread-Queue/t/06_insert.t b/dist/Thread-Queue/t/06_insert.t index 4f9d1dff5e..93617e13a3 100644 --- a/dist/Thread-Queue/t/06_insert.t +++ b/dist/Thread-Queue/t/06_insert.t @@ -13,7 +13,7 @@ use threads; use Thread::Queue; if ($] == 5.008) { - require 't/test.pl'; # Test::More work-alike for Perl 5.8.0 + require './t/test.pl'; # Test::More work-alike for Perl 5.8.0 } else { require Test::More; } diff --git a/dist/Thread-Queue/t/07_lock.t b/dist/Thread-Queue/t/07_lock.t index b20e0604ca..633722103c 100644 --- a/dist/Thread-Queue/t/07_lock.t +++ b/dist/Thread-Queue/t/07_lock.t @@ -14,7 +14,7 @@ use Thread::Queue; use Thread::Semaphore; if ($] == 5.008) { - require 't/test.pl'; # Test::More work-alike for Perl 5.8.0 + require './t/test.pl'; # Test::More work-alike for Perl 5.8.0 } else { require Test::More; } diff --git a/dist/Thread-Queue/t/10_timed.t b/dist/Thread-Queue/t/10_timed.t index 8404720ed6..da8b03a7eb 100644 --- a/dist/Thread-Queue/t/10_timed.t +++ b/dist/Thread-Queue/t/10_timed.t @@ -13,7 +13,7 @@ use threads; use Thread::Queue; if ($] == 5.008) { - require 't/test.pl'; # Test::More work-alike for Perl 5.8.0 + require './t/test.pl'; # Test::More work-alike for Perl 5.8.0 } else { require Test::More; } diff --git a/dist/Thread-Semaphore/t/01_basic.t b/dist/Thread-Semaphore/t/01_basic.t index 1e9d110680..cfdadb9047 100644 --- a/dist/Thread-Semaphore/t/01_basic.t +++ b/dist/Thread-Semaphore/t/01_basic.t @@ -14,7 +14,7 @@ use threads::shared; use Thread::Semaphore; if ($] == 5.008) { - require 't/test.pl'; # Test::More work-alike for Perl 5.8.0 + require './t/test.pl'; # Test::More work-alike for Perl 5.8.0 } else { require Test::More; } diff --git a/dist/Thread-Semaphore/t/04_nonblocking.t b/dist/Thread-Semaphore/t/04_nonblocking.t index d1538e8115..bef964eaf0 100644 --- a/dist/Thread-Semaphore/t/04_nonblocking.t +++ b/dist/Thread-Semaphore/t/04_nonblocking.t @@ -14,7 +14,7 @@ use threads::shared; use Thread::Semaphore; if ($] == 5.008) { - require 't/test.pl'; # Test::More work-alike for Perl 5.8.0 + require './t/test.pl'; # Test::More work-alike for Perl 5.8.0 } else { require Test::More; } diff --git a/dist/Thread-Semaphore/t/05_force.t b/dist/Thread-Semaphore/t/05_force.t index ca888d816b..ee7090b645 100644 --- a/dist/Thread-Semaphore/t/05_force.t +++ b/dist/Thread-Semaphore/t/05_force.t @@ -14,7 +14,7 @@ use threads::shared; use Thread::Semaphore; if ($] == 5.008) { - require 't/test.pl'; # Test::More work-alike for Perl 5.8.0 + require './t/test.pl'; # Test::More work-alike for Perl 5.8.0 } else { require Test::More; } diff --git a/ext/DynaLoader/t/DynaLoader.t b/ext/DynaLoader/t/DynaLoader.t index 77fb65d470..7fe30b3497 100644 --- a/ext/DynaLoader/t/DynaLoader.t +++ b/ext/DynaLoader/t/DynaLoader.t @@ -4,7 +4,7 @@ use strict; use Config; push @INC, '.'; if (-f 't/test.pl') { - require 't/test.pl'; + require './t/test.pl'; } else { require '../../t/test.pl'; } diff --git a/h2pl/cbreak.pl b/h2pl/cbreak.pl index 422185eb7b..ad4c187161 100644 --- a/h2pl/cbreak.pl +++ b/h2pl/cbreak.pl @@ -12,7 +12,7 @@ sub set_cbreak { local($on) = @_; require 'sizeof.ph'; - require 'sys/ioctl.ph'; + require './sys/ioctl.ph'; ioctl(STDIN,&TIOCGETP,$sgttyb) || die "Can't ioctl TIOCGETP: $!"; diff --git a/h2pl/cbreak2.pl b/h2pl/cbreak2.pl index 8ac55a3497..db71d26b9d 100644 --- a/h2pl/cbreak2.pl +++ b/h2pl/cbreak2.pl @@ -11,7 +11,7 @@ sub cooked { sub set_cbreak { local($on) = @_; - require 'sys/ioctl.pl'; + require './sys/ioctl.pl'; ioctl(STDIN,$TIOCGETP,$sgttyb) || die "Can't ioctl TIOCGETP: $!"; diff --git a/lib/h2ph.t b/lib/h2ph.t index 64d9dc080f..bdcc389073 100644 --- a/lib/h2ph.t +++ b/lib/h2ph.t @@ -1,5 +1,4 @@ #!./perl -use strict; # quickie tests to see if h2ph actually runs and does more or less what is # expected diff --git a/lib/strict.t b/lib/strict.t index d6c6ed0e41..bfee7620c2 100644 --- a/lib/strict.t +++ b/lib/strict.t @@ -1,7 +1,7 @@ #!./perl chdir 't' if -d 't'; -@INC = '../lib'; +@INC = ( '.', '../lib' ); our $local_tests = 6; require "../t/lib/common.pl"; diff --git a/lib/warnings.t b/lib/warnings.t index ee696fe2a1..7c24f3af2a 100644 --- a/lib/warnings.t +++ b/lib/warnings.t @@ -1,7 +1,7 @@ #!./perl chdir 't' if -d 't'; -@INC = '../lib'; +@INC = ( '.', '../lib' ); our $UTF8 = (${^OPEN} || "") =~ /:utf8/; require "../t/lib/common.pl"; diff --git a/makedef.pl b/makedef.pl index cb11e7e07c..68ae706217 100644 --- a/makedef.pl +++ b/makedef.pl @@ -70,7 +70,7 @@ BEGIN { } use constant PLATFORM => $ARGS{PLATFORM}; -require "$ARGS{TARG_DIR}regen/embed_lib.pl"; +require "./$ARGS{TARG_DIR}regen/embed_lib.pl"; # Is the following guard strictly necessary? Added during refactoring # to keep the same behaviour when merging other code into here. diff --git a/pod/buildtoc b/pod/buildtoc index acb8cf62a7..75bdcf271a 100644 --- a/pod/buildtoc +++ b/pod/buildtoc @@ -14,7 +14,7 @@ no locale; BEGIN { my $Top = File::Spec->catdir($FindBin::Bin, File::Spec->updir); chdir $Top or die "Can't chdir to $Top: $!"; - require 'Porting/pod_lib.pl'; + require './Porting/pod_lib.pl'; } die "$0: Usage: $0 [--quiet]\n" diff --git a/pod/perlmodlib.PL b/pod/perlmodlib.PL index 615ae4c407..b92f9ca151 100644 --- a/pod/perlmodlib.PL +++ b/pod/perlmodlib.PL @@ -13,7 +13,7 @@ if (@ARGV) { chdir $workdir or die "Couldn't chdir to '$workdir': $!"; } -require 'regen/regen_lib.pl'; +require './regen/regen_lib.pl'; # MANIFEST itself is Unix style filenames, so we have to assume that Unix style # filenames will work. @@ -15,7 +15,7 @@ use strict; my $tap = $ARGV[0] && $ARGV[0] eq '--tap' ? '# ' : ''; foreach my $pl (map {chomp; "regen/$_"} <DATA>) { - my @command = ($^X, $pl, @ARGV); + my @command = ($^X, '-I.', $pl, @ARGV); print "$tap@command\n"; system @command and die "@command failed: $?" diff --git a/regen/ebcdic.pl b/regen/ebcdic.pl index fa8a051dfc..a3e049d2ad 100644 --- a/regen/ebcdic.pl +++ b/regen/ebcdic.pl @@ -1,8 +1,11 @@ use v5.16.0; use strict; use warnings; -require 'regen/regen_lib.pl'; -require 'regen/charset_translations.pl'; + +BEGIN { unshift @INC, '.' } + +require './regen/regen_lib.pl'; +require './regen/charset_translations.pl'; # Generates the EBCDIC translation tables that were formerly hard-coded into # utfebcdic.h diff --git a/regen/embed.pl b/regen/embed.pl index 50ca2eb712..19256eb760 100755 --- a/regen/embed.pl +++ b/regen/embed.pl @@ -26,8 +26,8 @@ use strict; BEGIN { # Get function prototypes - require 'regen/regen_lib.pl'; - require 'regen/embed_lib.pl'; + require './regen/regen_lib.pl'; + require './regen/embed_lib.pl'; } my $SPLINT = 0; # Turn true for experimental splint support http://www.splint.org diff --git a/regen/feature.pl b/regen/feature.pl index 97d03599e3..f8cf4a85f2 100755 --- a/regen/feature.pl +++ b/regen/feature.pl @@ -11,7 +11,7 @@ # This script is normally invoked from regen.pl. BEGIN { - require 'regen/regen_lib.pl'; + require './regen/regen_lib.pl'; push @INC, './lib'; } use strict ; diff --git a/regen/genpacksizetables.pl b/regen/genpacksizetables.pl index 7a03dcd150..d886822319 100644 --- a/regen/genpacksizetables.pl +++ b/regen/genpacksizetables.pl @@ -3,7 +3,7 @@ # it will generate EBCDIC too. (TODO) use strict; use Encode; -require 'regen/regen_lib.pl'; +require './regen/regen_lib.pl'; sub make_text { my ($chrmap, $letter, $unpredictable, $nocsum, $size, $condition) = @_; diff --git a/regen/keywords.pl b/regen/keywords.pl index eafe58c480..9619d86faf 100755 --- a/regen/keywords.pl +++ b/regen/keywords.pl @@ -11,7 +11,7 @@ use strict; use Devel::Tokenizer::C 0.05; -require 'regen/regen_lib.pl'; +require './regen/regen_lib.pl'; my $h = open_new('keywords.h', '>', { by => 'regen/keywords.pl', from => 'its data', diff --git a/regen/lib_cleanup.pl b/regen/lib_cleanup.pl index c9d6e434bd..5e40b405a4 100644 --- a/regen/lib_cleanup.pl +++ b/regen/lib_cleanup.pl @@ -1,7 +1,7 @@ #!perl -w use strict; -require 'regen/regen_lib.pl'; -require 'Porting/pod_lib.pl'; +require './regen/regen_lib.pl'; +require './Porting/pod_lib.pl'; use vars qw($TAP $Verbose); # For processing later diff --git a/regen/mg_vtable.pl b/regen/mg_vtable.pl index a05a7d4146..342f5e04c4 100644 --- a/regen/mg_vtable.pl +++ b/regen/mg_vtable.pl @@ -20,7 +20,7 @@ require 5.004; BEGIN { # Get function prototypes - require 'regen/regen_lib.pl'; + require './regen/regen_lib.pl'; } my %mg = diff --git a/regen/miniperlmain.pl b/regen/miniperlmain.pl index 9123b3f71b..37a3fffc53 100644 --- a/regen/miniperlmain.pl +++ b/regen/miniperlmain.pl @@ -4,7 +4,7 @@ use strict; BEGIN { # Get function prototypes - require 'regen/regen_lib.pl'; + require './regen/regen_lib.pl'; unshift @INC, 'ext/ExtUtils-Miniperl/lib'; } diff --git a/regen/mk_PL_charclass.pl b/regen/mk_PL_charclass.pl index 5b609e530b..8b217b3b62 100644 --- a/regen/mk_PL_charclass.pl +++ b/regen/mk_PL_charclass.pl @@ -2,8 +2,8 @@ use v5.15.8; use strict; use warnings; -require 'regen/regen_lib.pl'; -require 'regen/charset_translations.pl'; +require './regen/regen_lib.pl'; +require './regen/charset_translations.pl'; # This program outputs l1_charclass_tab.h, which defines the guts of the # PL_charclass table. Each line is a bit map of properties that the Unicode diff --git a/regen/mk_invlists.pl b/regen/mk_invlists.pl index 460a72c56b..d6ff165122 100644 --- a/regen/mk_invlists.pl +++ b/regen/mk_invlists.pl @@ -8,8 +8,8 @@ use Unicode::UCD qw(prop_aliases prop_invlist prop_invmap search_invlist ); -require 'regen/regen_lib.pl'; -require 'regen/charset_translations.pl'; +require './regen/regen_lib.pl'; +require './regen/charset_translations.pl'; # This program outputs charclass_invlists.h, which contains various inversion # lists in the form of C arrays that are to be used as-is for inversion lists. diff --git a/regen/opcode.pl b/regen/opcode.pl index edb9f4d7c1..0bd62ced4b 100755 --- a/regen/opcode.pl +++ b/regen/opcode.pl @@ -20,7 +20,7 @@ use strict; BEGIN { # Get function prototypes - require 'regen/regen_lib.pl'; + require './regen/regen_lib.pl'; } my $oc = open_new('opcode.h', '>', @@ -924,7 +924,7 @@ package main; # which define what bits in op_private have what meanings for each op. # It populates %LABELS, %DEFINES, %FLAGS, %BITFIELDS. -require 'regen/op_private'; +require './regen/op_private'; #use Data::Dumper; #print Dumper \%LABELS, \%DEFINES, \%FLAGS, \%BITFIELDS; diff --git a/regen/overload.pl b/regen/overload.pl index c95ab2d71d..38dac323c0 100644 --- a/regen/overload.pl +++ b/regen/overload.pl @@ -16,7 +16,7 @@ BEGIN { # Get function prototypes - require 'regen/regen_lib.pl'; + require './regen/regen_lib.pl'; } use strict; diff --git a/regen/reentr.pl b/regen/reentr.pl index 3a0afafe2e..564a68fb5e 100644 --- a/regen/reentr.pl +++ b/regen/reentr.pl @@ -18,7 +18,7 @@ BEGIN { # Get function prototypes - require 'regen/regen_lib.pl'; + require './regen/regen_lib.pl'; } use strict; diff --git a/regen/regcharclass.pl b/regen/regcharclass.pl index f3f8b997f3..c593334d9d 100755 --- a/regen/regcharclass.pl +++ b/regen/regcharclass.pl @@ -11,8 +11,8 @@ our $hex_fmt= "0x%02X"; sub DEBUG () { 0 } $|=1 if DEBUG; -require 'regen/regen_lib.pl'; -require 'regen/charset_translations.pl'; +require './regen/regen_lib.pl'; +require './regen/charset_translations.pl'; require "regen/regcharclass_multi_char_folds.pl"; =head1 NAME diff --git a/regen/regcomp.pl b/regen/regcomp.pl index 850eeb9211..94aa5729f2 100644 --- a/regen/regcomp.pl +++ b/regen/regcomp.pl @@ -20,7 +20,7 @@ BEGIN { # Get function prototypes - require 'regen/regen_lib.pl'; + require './regen/regen_lib.pl'; } use strict; diff --git a/regen/uconfig_h.pl b/regen/uconfig_h.pl index 99a74f1945..1c3d1b28c3 100755 --- a/regen/uconfig_h.pl +++ b/regen/uconfig_h.pl @@ -10,7 +10,7 @@ use strict; use Config; -require 'regen/regen_lib.pl'; +require './regen/regen_lib.pl'; my ($uconfig_h, $uconfig_h_new, $config_h_sh) = ('uconfig.h', 'uconfig.h-new', 'config_h.SH'); diff --git a/regen/unicode_constants.pl b/regen/unicode_constants.pl index acdbaa3d4e..cbe317926c 100644 --- a/regen/unicode_constants.pl +++ b/regen/unicode_constants.pl @@ -1,8 +1,8 @@ use v5.16.0; use strict; use warnings; -require 'regen/regen_lib.pl'; -require 'regen/charset_translations.pl'; +require './regen/regen_lib.pl'; +require './regen/charset_translations.pl'; use Unicode::UCD; use charnames qw(:loose); diff --git a/regen/warnings.pl b/regen/warnings.pl index 40e72653f3..739a7b4894 100644 --- a/regen/warnings.pl +++ b/regen/warnings.pl @@ -19,7 +19,7 @@ $VERSION = '1.37'; BEGIN { - require 'regen/regen_lib.pl'; + require './regen/regen_lib.pl'; push @INC, './lib'; } use strict ; diff --git a/regen_perly.pl b/regen_perly.pl index f9ef04bd81..b8fb5d7004 100644 --- a/regen_perly.pl +++ b/regen_perly.pl @@ -35,7 +35,7 @@ sub usage { die "usage: $0 [ -b bison_executable ] [ file.y ]\n" } use warnings; use strict; -BEGIN { require 'regen/regen_lib.pl'; } +BEGIN { require './regen/regen_lib.pl'; } my $bison = 'bison'; diff --git a/t/comp/line_debug.t b/t/comp/line_debug.t index 8361194bbf..71626bbf35 100644 --- a/t/comp/line_debug.t +++ b/t/comp/line_debug.t @@ -1,5 +1,7 @@ #!./perl +BEGIN { unshift @INC, '.' } + chdir 't' if -d 't'; sub ok { diff --git a/t/lib/warnings/op b/t/lib/warnings/op index 8240dd6191..e8d93e8a8c 100644 --- a/t/lib/warnings/op +++ b/t/lib/warnings/op @@ -1453,6 +1453,7 @@ END { print "in end\n"; } print "in mainline\n"; 1; --FILE-- +BEGIN { unshift @INC, '.' } require abc; do "abc.pm"; EXPECT diff --git a/t/op/goto.t b/t/op/goto.t index 6be6413cf3..05f1573077 100644 --- a/t/op/goto.t +++ b/t/op/goto.t @@ -280,7 +280,7 @@ YYY: print "OK\n"; EOT close $f; -$r = runperl(prog => 'use Op_goto01; print qq[DONE\n]'); +$r = runperl(prog => 'BEGIN { unshift @INC, q[.] } use Op_goto01; print qq[DONE\n]'); is($r, "OK\nDONE\n", "goto within use-d file"); unlink_all "Op_goto01.pm"; diff --git a/t/porting/authors.t b/t/porting/authors.t index bc69e3a2a1..563b92a525 100644 --- a/t/porting/authors.t +++ b/t/porting/authors.t @@ -7,7 +7,7 @@ BEGIN { use TestInit qw(T); # T is chdir to the top level use strict; -require 't/test.pl'; +require './t/test.pl'; find_git_or_skip('all'); # This is the subset of "pretty=fuller" that checkAUTHORS.pl actually needs: diff --git a/t/porting/bench.t b/t/porting/bench.t index 527995aa26..bbebd377b8 100644 --- a/t/porting/bench.t +++ b/t/porting/bench.t @@ -8,7 +8,7 @@ BEGIN { use TestInit qw(T A); # T is chdir to the top level, A makes paths absolute use strict; -require 't/test.pl'; +require './t/test.pl'; my $source = find_git_or_skip('all'); chdir $source or die "Can't chdir to $source: $!"; diff --git a/t/porting/cmp_version.t b/t/porting/cmp_version.t index 55b4003529..bbbc852f92 100644 --- a/t/porting/cmp_version.t +++ b/t/porting/cmp_version.t @@ -16,7 +16,7 @@ BEGIN { use TestInit qw(T A); # T is chdir to the top level, A makes paths absolute use strict; -require 't/test.pl'; +require './t/test.pl'; my $source = find_git_or_skip('all'); chdir $source or die "Can't chdir to $source: $!"; diff --git a/t/porting/corelist.t b/t/porting/corelist.t index 251a2603cc..820ff3e933 100644 --- a/t/porting/corelist.t +++ b/t/porting/corelist.t @@ -6,7 +6,7 @@ use TestInit qw(T); use strict; use Config; -require 't/test.pl'; +require './t/test.pl'; plan(tests => 6); diff --git a/t/porting/diag.t b/t/porting/diag.t index ccde8cb13f..cdd9d642d6 100644 --- a/t/porting/diag.t +++ b/t/porting/diag.t @@ -9,7 +9,7 @@ use warnings; use strict; use Config; -require 't/test.pl'; +require './t/test.pl'; if ( $Config{usecrosscompile} ) { skip_all( "Not all files are available during cross-compilation" ); @@ -26,7 +26,7 @@ plan('no_plan'); my $make_exceptions_list = ($ARGV[0]||'') eq '--make-exceptions-list' and shift; -require 'regen/embed_lib.pl'; +require './regen/embed_lib.pl'; # Look for functions that look like they could be diagnostic ones. my @functions; diff --git a/t/porting/globvar.t b/t/porting/globvar.t index 8dd45ba34e..605eba0ea4 100644 --- a/t/porting/globvar.t +++ b/t/porting/globvar.t @@ -4,7 +4,7 @@ use TestInit qw(T); use strict; use Config; -require 't/test.pl'; +require './t/test.pl'; skip_all("Code to read symbols not ported to $^O") if $^O eq 'VMS' or $^O eq 'MSWin32'; diff --git a/t/porting/manifest.t b/t/porting/manifest.t index b0dd440bfb..7adb06198d 100644 --- a/t/porting/manifest.t +++ b/t/porting/manifest.t @@ -30,7 +30,7 @@ BEGIN { } use TestInit qw(T); # T is chdir to the top level -require 't/test.pl'; +require './t/test.pl'; skip_all("Cross-compiling, the entire source might not be available") if $Config{usecrosscompile}; diff --git a/t/porting/pending-author.t b/t/porting/pending-author.t index 4dceaf6464..0aaa546ad6 100644 --- a/t/porting/pending-author.t +++ b/t/porting/pending-author.t @@ -27,7 +27,7 @@ use TestInit qw(T); # T is chdir to the top level use strict; use File::Spec; -require 't/test.pl'; +require './t/test.pl'; find_git_or_skip('all'); my $devnull = File::Spec->devnull; diff --git a/t/porting/pod_rules.t b/t/porting/pod_rules.t index 46a0114003..894b153e88 100644 --- a/t/porting/pod_rules.t +++ b/t/porting/pod_rules.t @@ -25,7 +25,7 @@ BEGIN { chdir '..'; } @INC = qw(lib .); # Special @INC. - require 't/test.pl'; + require './t/test.pl'; } use strict; diff --git a/t/porting/readme.t b/t/porting/readme.t index e127920b90..232a45fc18 100644 --- a/t/porting/readme.t +++ b/t/porting/readme.t @@ -10,7 +10,7 @@ BEGIN { use TestInit qw(T); # T is chdir to the top level use strict; use warnings; -require 't/test.pl'; +require './t/test.pl'; my @porting_files; open my $man, "MANIFEST" or die "Can't open MANIFEST: $!"; diff --git a/t/porting/regen.t b/t/porting/regen.t index 5d085181ce..3aa1fd5b5e 100644 --- a/t/porting/regen.t +++ b/t/porting/regen.t @@ -8,8 +8,8 @@ BEGIN { use TestInit qw(T A); # T is chdir to the top level, A makes paths absolute use strict; -require 'regen/regen_lib.pl'; -require 't/test.pl'; +require './regen/regen_lib.pl'; +require './t/test.pl'; $::NO_ENDING = $::NO_ENDING = 1; if ( $^O eq "VMS" ) { @@ -86,7 +86,7 @@ OUTER: foreach my $file (@files) { } foreach (@progs) { - my $command = "$^X $_ --tap"; + my $command = "$^X -I. $_ --tap"; system $command and die "Failed to run $command: $?"; } diff --git a/t/porting/utils.t b/t/porting/utils.t index 475380d416..92eafbd3b9 100644 --- a/t/porting/utils.t +++ b/t/porting/utils.t @@ -22,7 +22,7 @@ BEGIN { use TestInit qw(T); # T is chdir to the top level use strict; -require 't/test.pl'; +require './t/test.pl'; # It turns out that, since the default @INC will include your old 5.x libs, if # you have them, the Porting utils might load a library that no longer compiles diff --git a/t/re/pat.t b/t/re/pat.t index eb321e9c96..b8d7680082 100644 --- a/t/re/pat.t +++ b/t/re/pat.t @@ -1699,7 +1699,7 @@ EOP # NOTE - Do not put quotes in the code! # NOTE - We have to triple escape the backref in the pattern below. my $code=' - BEGIN{require q(test.pl);} + BEGIN{require q(./test.pl);} watchdog(3); for my $len (1 .. 20) { my $eights= q(8) x $len; @@ -1715,7 +1715,7 @@ EOP # #123562] my $code=' - BEGIN{require q(test.pl);} + BEGIN{require q(./test.pl);} use Encode qw(_utf8_on); # \x80 and \x41 are continuation bytes in their respective # character sets @@ -1783,7 +1783,7 @@ EOP my ($expr, $expect, $test_name, $cap1)= @$tuple; # avoid quotes in this code! my $code=' - BEGIN{require q(test.pl);} + BEGIN{require q(./test.pl);} watchdog(3); my $status= eval(q{ !(' . $expr . ') ? q(failed) : ' . ($cap1 ? '($1 ne q['.$cap1.']) ? qq(badmatch:$1) : ' : '') . diff --git a/t/run/runenv.t b/t/run/runenv.t index 82846a4d28..8861a3df06 100644 --- a/t/run/runenv.t +++ b/t/run/runenv.t @@ -285,7 +285,8 @@ is ($err, '', 'No errors when determining @INC'); my @default_inc = split /\n/, $out; -is ($default_inc[-1], '.', '. is last in @INC'); +ok ! grep { $_ eq '.' } @default_inc, '. is not in @INC'; +#is ($default_inc[-1], '.', '. is last in @INC'); my $sep = $Config{path_sep}; foreach (['nothing', ''], diff --git a/t/run/switches.t b/t/run/switches.t index 0018a74dd6..b61be56834 100644 --- a/t/run/switches.t +++ b/t/run/switches.t @@ -194,12 +194,12 @@ sub import { print map "<\$_>", \@_ } SWTESTPM close $f or die "Could not close: $!"; $r = runperl( - switches => [ "-M$package" ], + switches => [ "-I.", "-M$package" ], prog => '1', ); is( $r, "<$package>", '-M' ); $r = runperl( - switches => [ "-M$package=foo" ], + switches => [ "-I.", "-M$package=foo" ], prog => '1', ); is( $r, "<$package><foo>", '-M with import parameter' ); @@ -213,7 +213,7 @@ SWTESTPM is( $r, '', '-m' ); } $r = runperl( - switches => [ "-m$package=foo,bar" ], + switches => [ "-I.", "-m$package=foo,bar" ], prog => '1', ); is( $r, "<$package><foo><bar>", '-m with import parameters' ); @@ -652,7 +652,7 @@ sub _create_runperl { # Create the string to qx in runperl(). $runperl = "$ENV{PERL_RUNPERL_DEBUG} $runperl"; } unless ($args{nolib}) { - $runperl = $runperl . ' "-I../lib"'; # doublequotes because of VMS + $runperl = $runperl . ' "-I../lib" "-I." '; # doublequotes because of VMS } if ($args{switches}) { local $Level = 2; @@ -1261,6 +1261,7 @@ sub run_multiple_progs { open my $fh, '>', $tmpfile or die "Cannot open >$tmpfile: $!"; print $fh q{ BEGIN { + push @INC, '.'; open STDERR, '>&', STDOUT or die "Can't dup STDOUT->STDERR: $!;"; } diff --git a/utils/Makefile.PL b/utils/Makefile.PL index 27c371f82a..85b0833960 100644 --- a/utils/Makefile.PL +++ b/utils/Makefile.PL @@ -13,7 +13,7 @@ if (@ARGV) { # attempting to move the work from them to the extension directories and # ExtUtils::MakeMaker. -require 'regen/regen_lib.pl'; +require './regen/regen_lib.pl'; my $target = 'utils/Makefile'; print "Extracting $target (with variable substitutions)\n"; diff --git a/utils/c2ph.PL b/utils/c2ph.PL index ea87a6f246..c5b5a3f95b 100644 --- a/utils/c2ph.PL +++ b/utils/c2ph.PL @@ -198,8 +198,8 @@ them in terms of packages and functions. Consider the following program: #!/usr/local/bin/perl require 'syscall.ph'; - require 'sys/time.ph'; - require 'sys/resource.ph'; + require './sys/time.ph'; + require './sys/resource.ph'; $ru = "\0" x &rusage'sizeof(); diff --git a/utils/perlivp.PL b/utils/perlivp.PL index e5229133f4..81f8ae428e 100644 --- a/utils/perlivp.PL +++ b/utils/perlivp.PL @@ -231,7 +231,7 @@ if (defined($Config{'extensions'})) { next if $_ eq 'XS/APItest'; next if $_ eq 'XS/Typemap'; # VMS$ perl -e "eval ""require \""Devel/DProf.pm\"";"" print $@" - # \NT> perl -e "eval \"require 'Devel/DProf.pm'\"; print $@" + # \NT> perl -e "eval \"require './Devel/DProf.pm'\"; print $@" # DProf: run perl with -d to use DProf. # Compilation failed in require at (eval 1) line 1. eval " require \"$_.pm\"; "; |