There are a number of Getopt packages to look at depending on what you need. Currently, our group uses the Getopt::Long package for GNU style long options (e.g.
--longword=XXX style) which we find our users have an easier time remembering than just the short options. However, Getopt::Long will handle both together so you can combine a short with a longer descriptive option name, too.
Getopt::Long
---
s;;:<).>|\;\;_>?\\^0<|=!]=,|{\$/.'>|<?.|/"&?=#!>%\$|#/\$%{};;y;,'} -/:-@[-`{-};,'}`-{/" -;;s;;$_;see;
Warning: Any code posted by tuxz0r is untested, unless otherwise stated, and is used at your own risk.