[MacPerl-Porters] [PATCH] blib.pm for MacPerl 5.6.1
[email protected] (Thomas Wegner) Wed, 29 May 2002 19:10:42 +0200
| Newsgroups | perl.macperl.porters |
|---|---|
| Message-ID | <p04320400b91a6c2feb93@[149.225.16.81]> |
Greetings,
since blib.pm was already there in MacPerl 5.6.1, it should be
patched for 5.6.1r2 too, I guess.
diff -ru blib.pm.orig561 blib.pm
--- blib.pm.orig561 Tue May 28 19:33:32 2002
+++ blib.pm Tue May 28 21:43:52 2002
@@ -37,6 +37,7 @@
=cut
use Cwd;
+use File::Spec;
use vars qw($VERSION);
$VERSION = '1.00';
@@ -51,20 +52,32 @@
$dir = shift;
$dir =~ s/blib\z//;
$dir =~ s,/+\z,,;
- $dir = '.' unless ($dir);
+ $dir = File::Spec->curdir() unless ($dir);
die "$dir is not a directory\n" unless (-d $dir);
}
- my $i = 5;
+ my $i = 5;
+ my ($blib, $blib_lib, $blib_arch);
while ($i--)
{
- my $blib = "${dir}/blib";
- if (-d $blib && -d "$blib/arch" && -d "$blib/lib")
+ $blib = File::Spec->catdir($dir, "blib");
+ $blib_lib = File::Spec->catdir($blib, "lib");
+
+ if ($^O eq 'MacOS')
+ {
+ $blib_arch = File::Spec->catdir($blib_lib, "MacPPC");
+ }
+ else
+ {
+ $blib_arch = File::Spec->catdir($blib, "arch");
+ }
+
+ if (-d $blib && -d $blib_arch && -d $blib_lib)
{
- unshift(@INC,"$blib/arch","$blib/lib");
+ unshift(@INC,$blib_arch,$blib_lib);
warn "Using $blib\n";
return;
- }
- $dir .= "/..";
+ }
+ $dir = File::Spec->catdir($dir, File::Spec->updir());
}
die "Cannot find blib even in $dir\n";
}
__END__ of patch
Best regards,
--Thomas