X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FFile%2FBasename.pm;h=3b0685f166deb0989f21be61e138ea0e38a686f2;hb=fa76202e3aa22e9755f1a461416769c368b47afc;hp=37faa6d4656f7dad7d248779efbda89f6b67fdc1;hpb=f1e2092112ce19460895ba277191c080271a49b1;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/File/Basename.pm b/lib/File/Basename.pm index 37faa6d..3b0685f 100644 --- a/lib/File/Basename.pm +++ b/lib/File/Basename.pm @@ -19,7 +19,7 @@ dirname - extract just the directory from a path ($name,$path,$suffix) = fileparse("lib/File/Basename.pm",qr{\.pm}); fileparse_set_fstype("VMS"); - $basename = basename("lib/File/Basename.pm",qr{\.pm}); + $basename = basename("lib/File/Basename.pm",".pm"); $dirname = dirname("lib/File/Basename.pm"); =head1 DESCRIPTION @@ -130,7 +130,7 @@ directory name to be F<.>). # not be available. BEGIN { unless (eval { require re; }) - { eval ' sub re::import { $^H |= 0x00100000; } ' } + { eval ' sub re::import { $^H |= 0x00100000; } ' } # HINT_RE_TAINT import re 'taint'; } @@ -167,6 +167,10 @@ sub fileparse_set_fstype { sub fileparse { my($fullname,@suffices) = @_; + unless (defined $fullname) { + require Carp; + Carp::croak("fileparse(): need a valid pathname"); + } my($fstype,$igncase) = ($Fileparse_fstype, $Fileparse_igncase); my($dirpath,$tail,$suffix,$basename); my($taint) = substr($fullname,0,0); # Is $fullname tainted? @@ -222,7 +226,7 @@ sub fileparse { $tail .= $taint if defined $tail; # avoid warning if $tail == undef wantarray ? ($basename .= $taint, $dirpath .= $taint, $tail) - : $basename .= $taint; + : ($basename .= $taint); }