I would also use File::Basename.
Sample use:
use strict;
use File::Basename;
my $mFileName;
my $mFilePath;
my $mFileExt;
foreach (
'/home/rhose/work/perl/test',
'/home/rhose/work/perl/test.pl',
'c:\work\perl\test',
'c:\work\perl\test.pl'
)
{
($mFileName, $mFilePath, $mFileExt)=fileparse($_,'\.[^.]*');
print "Full:\t",$_,"\n";
print "Path:\t",$mFilePath,"\n";
print "Name:\t",$mFileName,"\n";
print "Ext:\t",$mFileExt,"\n";
print "\n";
}
|