#!/usr/bin/perl -w # 2001.02.18 altblue ## use strict; use MP3::Info; use File::Find; my $directory = $ARGV[0] ? $ARGV[0] : '.'; File::Find::finddepth({wanted => \&process_file}, $directory); exit; sub process_file { my $file = $_; my $tag = get_mp3tag($file,1) or return undef; my $track = defined $$tag{'TRACKNUM'} ? sprintf "%02d", $$tag{TRACKNUM} : ($file =~ m/^(\d\d)/) ? $1 : '00'; my $new = "$track.$$tag{'TITLE'}.mp3"; $new = lc $new; printf "%40s -> %s\n", $file, $new; rename $file, $new or warn("rename error: $!\n"); }