in reply to Char range

Well, in a regex it would be something the character class [^a-zA-Z0-9\s]. For doing loops, you'll probably just have to create a list, something like qw/! @  #  $  % ^ & * ( ) ?/.