pues yo lo haría con expresiones regulares...
$cad =~ /[^A-Z]/;
esa expresión dará verdadero si encuentra alguna letra que no pertenezca al alfabeto en mayúscula.
No lo probé así que cuéntame si funciona
Para aprender más sobre expresiones regulares, visita la sección de tutoriales de
www.perlenespanol.com
Saludos