in reply to GetOpt Organization

Leaving the organization question to other respondents, you (and at least one respondent) made a common mistake. GetOptions() can report 1 or more errors via warn() and then return a false value. Because there can be more than 1 error, it doesn't use die(). So it is your responsibility to stop execution for such cases.

GetOptions( # ... ) or exit 1;

Or use a die() as shown in Getopt::Long.

- tye