in reply to
parse file name
my ($volume, $directories, $file) = File::Spec->splitpath( $path );
my ($extension) = $file =~ /\.([^\.]+)$/;
So if you want to DWIM, you'd have to keep a list of known file extensions that contain a dot, and special case them.
Or you could consider it to be a recursive definition, so that .gz is the extension of the perl-5.10.1.tar, and .tar is the extension of perl-5.10.1.
6 of one, 1/2 dozen of another.
Please consider supporting my wife as she walks in the 2009 Alzheimer's Walk.
Use subroutines for code reuse
Master regular expressions
Write my GUIs with Perl
Abandon CGI in favor of some modern web framework
Put my code in modules
Create CPAN distributions
test and document my code as I write it
Write OOP with or without animal help
Finally switch to a modern Perl style
Create a killer application with Perl
Detoxify from Perl and PerlMonks
Choose another language because Perl is dead
Learn to program for mobile devices
Complete my secret world domination project
None, because the road to hell is paved with good intentions
Results (248 votes),