basename & dirname in Perl
sub basename($) { my $file = shift; $file =~ s!^(?:.*/)?(.+?)(?:\.[^.]*)?$!$1!; return $file; } sub dirname($) {my $file = shift; $file =~ s!/?[^/]*/*$!!; return $file; }
DZone Snippets > file extension
11304 users tagging and storing useful source code snippets
Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world
sub basename($) { my $file = shift; $file =~ s!^(?:.*/)?(.+?)(?:\.[^.]*)?$!$1!; return $file; } sub dirname($) {my $file = shift; $file =~ s!/?[^/]*/*$!!; return $file; }
#!/usr/bin/perl -w use strict; my %exten; foreach (@ARGV) { /(\.[^.]+)$/ && $exten{$1}++ foreach glob "$_/*.*" } print "$_: $exten{$_}\n" foreach sort keys %exten;