use File::Spec::Functions qw( catpath curdir splitpath );
my ($volume, $directories, $basename) = splitpath($qfn);
$directories = curdir() if !length($directories);
my $dirname = catpath($value, $directories, '');
say $dirname;
say $basename;
Path::Class is a wrapper around it.
use Path::Class qw( file );
my $file = file($qfn);
my $basename = $file->basename();
my $dirname = $file->parent();
say $dirname;
say $basename;
|