in reply to
My approach is similar to TomDLux. I use Getopt::Long and Pod::Usage. A complete working example of how to use the pair is given in the recommended use section of the Pod::Usage documentation.
Results (330 votes),