How can you determine if a string is all caps with a regular expression. It can include punctuation and numbers, just no lower case letters.
m/^[^a-z]*$/
For non-English characters,
m/^\P{Ll}*$/
(\P{Ll} is the same as [^\p{Ll}], which accepts all characters except the ones marked as lower-case.)
\P{Ll}
[^\p{Ll}]