The Perl 5 module Getopt::Long::Descriptive provides a convenient wrapper for Getopt::Long and program usage output.