From: Alexey Tourbin Date: Wed, 25 Oct 2006 14:02:55 +0000 (+0400) Subject: FindBin.pm: better fix for PATH entries X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=af08d52dcc0fecaf93b69b919878fb338f1cd6de;p=p5sagit%2Fp5-mst-13.2.git FindBin.pm: better fix for PATH entries Message-ID: <20061025100255.GE7821@localhost.localdomain> p4raw-id: //depot/perl@29103 --- diff --git a/lib/FindBin.pm b/lib/FindBin.pm index 0dbe550..0d75414 100644 --- a/lib/FindBin.pm +++ b/lib/FindBin.pm @@ -104,7 +104,7 @@ use File::Spec; %EXPORT_TAGS = (ALL => [qw($Bin $Script $RealBin $RealScript $Dir $RealDir)]); @ISA = qw(Exporter); -$VERSION = "1.47"; +$VERSION = "1.48"; sub cwd2 { my $cwd = getcwd(); @@ -142,24 +142,19 @@ sub init { my $dir; foreach $dir (File::Spec->path) - { + { my $scr = File::Spec->catfile($dir, $script); - if(-r $scr && (!$dosish || -x _)) + + # $script can been found via PATH but perl could have + # been invoked as 'perl file'. Do a dumb check to see + # if $script is a perl program, if not then keep $script = $0 + # + # well we actually only check that it is an ASCII file + # we know its executable so it is probably a script + # of some sort. + if(-f $scr && -r _ && ($dosish || -x _) && -s _ && -T _) { $script = $scr; - - if (-f $0) - { - # $script has been found via PATH but perl could have - # been invoked as 'perl file'. Do a dumb check to see - # if $script is a perl program, if not then $script = $0 - # - # well we actually only check that it is an ASCII file - # we know its executable so it is probably a script - # of some sort. - - $script = $0 unless(-T $script); - } last; } }