#!/usr/bin/perl -w use strict; my $nombre_temporal = "fichero-mp3-temporal-de-mp3r.pl"; sub rename_mp3 ($) { my $song = shift ; # $song =~ s/_/\\ /; $song =~ s/^(.)/\u$1/; $song =~ s/[_ ]+(.)/ \u$1/g; $song =~ s/[_ ]*-[_ ]*(.)/ - \u$1/; return $song; } opendir D, "."; my @dots = grep { -f "$_" && /\.mp3$/ } readdir(D); closedir D; foreach my $i (sort @dots) { my $newname = rename_mp3 ($i); if ($i ne $newname) { print $i, " -> ", $newname, "\n"; system ("mv \"$i\" \"$nombre_temporal\""); system ("mv \"$nombre_temporal\" \"" . $newname . "\""); } }