The inclusion of non options in %ARGV boggles the mind, and this is
presumably why leading dashes are preserved in hash keys. Barring the
limiting of %ARGV to real switches (so that no dashes would be required
for differentiation), the key forms of switches should be normalized
such that they are all of -key or --key form, thereby greatly improving
the usability of the hash. What's the point of a module if everyone
using it has to use the same/similar code to patch-up missing
functionality in the module?