my @f = ( 'Godspeed - Sunshine and Gasoline.mp3', 'Pogues - Token Celtic Drinking Song.mp3', 'The Pogues - Beer, Beer, Beer (Irish drinking song).mp3', 'Hell\'s Ditch', 'One&Two.mp3', 'A!! ...--B._._.C_-___-_D-._.-E', ); for (@f) { print; $_=lc;s/&/ and /g;y/()'/--/sd; print; s/(?:(\.)|(-)|[\W_])+/$1||$2||'_'/ge; print; }