summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabor Szabo <szabgab@gmail.com>2006-08-06 02:00:14 +0300
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2006-08-07 09:13:42 +0000
commit6f422a3fee985a1fe85f8f8415d89dcebbee6a53 (patch)
treeb1136cb4f0d84a9b59f4c39f698eba4c53889121
parenta054c801198622dc55b75348affc1457ce402e46 (diff)
downloadperl-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.pm16
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);