use File::Spec;
my ($volume, $dirstring, $file) = File::Spec->splitpath($pathname);
my @dirs = File::Spec->splitdir($dirstring);
# Unfortunately, splitpath's doc says:
# The directory portion may or may not be returned with a trailing
+ '/'.
#
# Which 'may or may not' give us an extra 'null' member of
# @dirs, because splitdir allows null directory names.
#
# Hence this next line, purely for cleanup:
pop @dirs if ($dirs[-1] eq '');
$file =~ s/\.pm$//;
my $package = join('::',@dirs,$file);
The intelligent reader will judge for himself. Without examining the facts fully and fairly, there is no way of knowing whether vox populi is really vox dei, or merely vox asinorum. -- Cyrus H. Gordon
|