diff options
author | Gabor Szabo <szabgab@gmail.com> | 2006-08-06 02:00:14 +0300 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2006-08-07 09:13:42 +0000 |
commit | 6f422a3fee985a1fe85f8f8415d89dcebbee6a53 (patch) | |
tree | b1136cb4f0d84a9b59f4c39f698eba4c53889121 | |
parent | a054c801198622dc55b75348affc1457ce402e46 (diff) | |
download | perl-6f422a3fee985a1fe85f8f8415d89dcebbee6a53.tar.gz |
File::Basename add X<> tags, replace regex delimiters
From: "Gabor Szabo" <szabgab@gmail.com>
Message-ID: <d8a74af10608051300m4a1ebd93j491889b9b4e8523d@mail.gmail.com>
p4raw-id: //depot/perl@28665
-rw-r--r-- | lib/File/Basename.pm | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/lib/File/Basename.pm b/lib/File/Basename.pm index 837b753972..7df8c89619 100644 --- a/lib/File/Basename.pm +++ b/lib/File/Basename.pm @@ -54,7 +54,7 @@ our(@ISA, @EXPORT, $VERSION, $Fileparse_fstype, $Fileparse_igncase); require Exporter; @ISA = qw(Exporter); @EXPORT = qw(fileparse fileparse_set_fstype basename dirname); -$VERSION = "2.74"; +$VERSION = "2.75"; fileparse_set_fstype($^O); @@ -62,6 +62,7 @@ fileparse_set_fstype($^O); =over 4 =item C<fileparse> +X<fileparse> my($filename, $directories, $suffix) = fileparse($path); my($filename, $directories, $suffix) = fileparse($path, @suffixes); @@ -143,13 +144,13 @@ sub fileparse { $dirpath ||= ''; # should always be defined } else { # Default to Unix semantics. - ($dirpath,$basename) = ($fullname =~ m#^(.*/)?(.*)#s); - if ($orig_type eq 'VMS' and $fullname =~ m:^(/[^/]+/000000(/|$))(.*):) { + ($dirpath,$basename) = ($fullname =~ m{^(.*/)?(.*)}s); + if ($orig_type eq 'VMS' and $fullname =~ m{^(/[^/]+/000000(/|$))(.*)}) { # dev:[000000] is top of VMS tree, similar to Unix '/' # so strip it off and treat the rest as "normal" my $devspec = $1; my $remainder = $3; - ($dirpath,$basename) = ($remainder =~ m#^(.*/)?(.*)#s); + ($dirpath,$basename) = ($remainder =~ m{^(.*/)?(.*)}s); $dirpath ||= ''; # should always be defined $dirpath = $devspec.$dirpath; } @@ -178,11 +179,12 @@ sub fileparse { =item C<basename> +X<basename> X<filename> my $filename = basename($path); my $filename = basename($path, @suffixes); -This function is provided for compatibility with the Unix shell command +This function is provided for compatibility with the Unix shell command C<basename(1)>. It does B<NOT> always return the file name portion of a path as you might expect. To be safe, if you want the file name portion of a path use C<fileparse()>. @@ -237,6 +239,7 @@ sub basename { =item C<dirname> +X<dirname> This function is provided for compatibility with the Unix shell command C<dirname(1)> and has inherited some of its quirks. In spite of @@ -310,7 +313,7 @@ sub dirname { elsif ($type eq 'AmigaOS') { if ( $dirname =~ /:\z/) { return $dirname } chop $dirname; - $dirname =~ s#[^:/]+\z## unless length($basename); + $dirname =~ s{[^:/]+\z}{} unless length($basename); } else { _strip_trailing_sep($dirname); @@ -341,6 +344,7 @@ sub _strip_trailing_sep { =item C<fileparse_set_fstype> +X<filesystem> my $type = fileparse_set_fstype(); my $previous_type = fileparse_set_fstype($type); |