Apró javítás:
a perl -pne kapcsolói közül az n felesleges, ha a p-t már megadtad;
továbbá a perlnek van egy olyan függvénye, hogy "uc", ami nagybetűssé alakítja az argumentumaként kapott sztringet vagy a $_-t. Tehát:
perl -pe '$_=uc'
vagy kevésbé felvágósan
perl -ne 'print uc'
Ez abból a szempontból is jobb, mint a te tr///-es megoldásod, hogy az ékezetes karaktereket is nagybetűs megfelelőikre változtatja. (Az alapproblémád, a mkisofs számára ehető fájlnevek szempontjából persze ez mit sem ér, oda inkább az ékezetes karakterek intelligens éktelenítése kell, ami egy nagyságrenddel nehezebb feladat.)
n+1. alternatívaként a find és xargs valamilyen kombinációjával is ki lehet váltani a for ciklust.