in reply to Alternating Case Regex

I'd probably go with
/^[[:lower:]]?([[:upper:]][[:lower:]])*[[:upper:]]?$/
which gives the same result.
map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]