summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorWolfgang Laun <Wolfgang.Laun@alcatel.at>2001-12-05 11:49:20 +0100
committerJarkko Hietaniemi <jhi@iki.fi>2001-12-05 13:30:47 +0000
commit3b421ef00fac94db72130d6dc774d9e49e8db4eb (patch)
treec61be4c168c3194d547990452a5d165ce84c770a /lib
parentc721372142d4c809beb9dbba1d6d9e8702004478 (diff)
downloadperl-3b421ef00fac94db72130d6dc774d9e49e8db4eb.tar.gz
Re: [PATCH] File::Basename pod and .t (was: perlpacktut.pod v0.0 (split))
Message-ID: <3C0DEDA0.C58A8A9E@alcatel.at> p4raw-id: //depot/perl@13472
Diffstat (limited to 'lib')
-rw-r--r--lib/File/Basename.pm11
-rwxr-xr-xlib/File/Basename.t4
2 files changed, 8 insertions, 7 deletions
diff --git a/lib/File/Basename.pm b/lib/File/Basename.pm
index e25598ce11..035c597991 100644
--- a/lib/File/Basename.pm
+++ b/lib/File/Basename.pm
@@ -17,9 +17,9 @@ dirname - extract just the directory from a path
$basename = basename($fullname,@suffixlist);
$dirname = dirname($fullname);
- ($name,$path,$suffix) = fileparse("lib/File/Basename.pm","\.pm");
+ ($name,$path,$suffix) = fileparse("lib/File/Basename.pm",qr{\.pm});
fileparse_set_fstype("VMS");
- $basename = basename("lib/File/Basename.pm",".pm");
+ $basename = basename("lib/File/Basename.pm",qr{\.pm});
$dirname = dirname("lib/File/Basename.pm");
=head1 DESCRIPTION
@@ -60,7 +60,8 @@ B<path> contains everything up to and including the last directory
separator in the input file specification. The remainder of the input
file specification is then divided into B<name> and B<suffix> based on
the optional patterns you specify in C<@suffixlist>. Each element of
-this list is interpreted as a regular expression, and is matched
+this list can be a qr-quoted pattern (or a string which is interpreted
+as a regular expression), and is matched
against the end of B<name>. If this succeeds, the matching portion of
B<name> is removed and prepended to B<suffix>. By proper use of
C<@suffixlist>, you can remove file types or versions for examination.
@@ -76,7 +77,7 @@ file as the input file specification.
Using Unix file syntax:
($base,$path,$type) = fileparse('/virgil/aeneid/draft.book7',
- '\.book\d+');
+ qr{\.book\d+});
would yield
@@ -87,7 +88,7 @@ would yield
Similarly, using VMS syntax:
($name,$dir,$type) = fileparse('Doc_Root:[Help]Rhetoric.Rnh',
- '\..*');
+ qr{\..*});
would yield
diff --git a/lib/File/Basename.t b/lib/File/Basename.t
index 9bee1bfb8b..32d9bfba0c 100755
--- a/lib/File/Basename.t
+++ b/lib/File/Basename.t
@@ -18,7 +18,7 @@ print +(length(File::Basename::fileparse_set_fstype('unix')) ?
'' : 'not '),"ok 2\n";
# Unix syntax tests
-($base,$path,$type) = fileparse('/virgil/aeneid/draft.book7','\.book\d+');
+($base,$path,$type) = fileparse('/virgil/aeneid/draft.book7',qr'\.book\d+');
if ($base eq 'draft' and $path eq '/virgil/aeneid/' and $type eq '.book7') {
print "ok 3\n";
}
@@ -37,7 +37,7 @@ print +(File::Basename::fileparse_set_fstype('VMS') eq 'unix' ?
'' : 'not '),"ok 8\n";
# VMS syntax tests
-($base,$path,$type) = fileparse('virgil:[aeneid]draft.book7','\.book\d+');
+($base,$path,$type) = fileparse('virgil:[aeneid]draft.book7',qr{\.book\d+});
if ($base eq 'draft' and $path eq 'virgil:[aeneid]' and $type eq '.book7') {
print "ok 9\n";
}