use strict; use File::Recurse; use File::Basename; my $allcount = 0; my $mp3count = 0; my $rencount = 0; { recurse (\&myfunc, "."); printf "\n"; printf "Total Files Found = %d\n", $allcount; printf " MP3 Files Found = %d\n", $mp3count; printf "MP3 Files Renamed = %d\n", $rencount; } sub myfunc { my $newname = ""; ++$allcount; my ($name, $path, $suffix) = fileparse ($_[0], '\.mp3'); if (length ($suffix)) { ++$mp3count; $_ = $name; if ($name =~ m/^The /) { ++$rencount; s/(^The )//ge; $newname = $path . $_ . $suffix; rename $_[0], $newname; } } }