in reply to Parsing command string into a hash

Getopt::ExPar is a current package that appears, on the surface, to be quite powerful. I haven't used it myself, but it may be worth your time.