MODULE Getopt::GUI::Long - a drop in Getopt::Long replacement supporting an optional GUI SYNOPSIS use Getopt::GUI::Long; # pass useful config options to Configure Getopt::GUI::Long::Configure(qw(display_help no_ignore_case capture_output)); GetOptions(\%opts, ["h|help", "Show help for command line options"], ["some-flag=s", "perform some flag based on a value"]); # or GetOptions(["h|help", "Show help for command line options"] => \$help, ["some-flag=s", "perform some flag based on a value"] => \$flag); DESCRIPTION This module is a wrapper around Getopt::Long that extends the value of the originial Getopt::Long module to add a simple graphical user interface option screen if no arguments are passed to the program. Thus, the arguments to actually use are built based on the results of the user interface. If arguments were passed to the program, the user interface is not shown and the program executes as it normally would and acts just as if Getopt::Long::GetOptions had been called instead. It's designed to make the creation of graphical shells trivial without the programmer having to think about it much. EXAMPLE SCREEN SHOTS http://www.dnssec-tools.org/ has a bunch of screen shot links on the front page where the GUI interface from it is entirely created through the Getopt::GUI::Long interface.