summaryrefslogtreecommitdiff
path: root/lib/File
diff options
context:
space:
mode:
Diffstat (limited to 'lib/File')
-rw-r--r--lib/File/Basename.pm14
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/File/Basename.pm b/lib/File/Basename.pm
index 5823ef6228..2602f0d530 100644
--- a/lib/File/Basename.pm
+++ b/lib/File/Basename.pm
@@ -77,7 +77,7 @@ would yield
$base eq 'draft'
$path eq '/virgil/aeneid/',
- $tail eq '.book7'
+ $type eq '.book7'
Similarly, using VMS syntax:
@@ -118,7 +118,7 @@ require Exporter;
@EXPORT = qw(fileparse fileparse_set_fstype basename dirname);
#use strict;
#use vars qw($VERSION $Fileparse_fstype);
-$VERSION = "2.3";
+$VERSION = "2.4";
# fileparse_set_fstype() - specify OS-based rules used in future
@@ -135,7 +135,7 @@ sub fileparse_set_fstype {
# fileparse() - parse file specification
#
-# Version 2.3 4-Jul-1996 Charles Bailey bailey@genetics.upenn.edu
+# Version 2.4 27-Sep-1996 Charles Bailey bailey@genetics.upenn.edu
sub fileparse {
@@ -146,18 +146,18 @@ sub fileparse {
if ($fstype =~ /^VMS/i) {
if ($fullname =~ m#/#) { $fstype = '' } # We're doing Unix emulation
else {
- ($dirpath,$basename) = ($fullname =~ /(.*[:>\]])?(.*)/);
+ ($dirpath,$basename) = ($fullname =~ /^(.*[:>\]])?(.*)/);
}
}
if ($fstype =~ /^MSDOS/i) {
- ($dirpath,$basename) = ($fullname =~ /(.*[:\\])?(.*)/);
+ ($dirpath,$basename) = ($fullname =~ /^(.*[:\\\/])?(.*)/);
$dirpath .= '.\\' unless $dirpath =~ /\\$/;
}
elsif ($fstype =~ /^MacOS/i) {
- ($dirpath,$basename) = ($fullname =~ /(.*:)?(.*)/);
+ ($dirpath,$basename) = ($fullname =~ /^(.*:)?(.*)/);
}
elsif ($fstype !~ /^VMS/i) { # default to Unix
- ($dirpath,$basename) = ($fullname =~ m#(.*/)?(.*)#);
+ ($dirpath,$basename) = ($fullname =~ m#^(.*/)?(.*)#);
$dirpath = './' unless $dirpath;
}