Getopt::Long::Descriptive is yet another Getopt library. It's built
atop Getopt::Long, and gets a lot of its features, but tries to avoid
making you think about its huge array of options.
It also provides usage (help) messages, data validation, and a few
other useful features.
