GetOptions( 'test=s' => \$option_test ) or exit(1); defined($option_test) or die("Missing argument -t"); #### GetOptions( 'test=s' => \$option_test ) or die("Invalid command-line option\n"); defined($option_test) or die("Missing argument -t\nInvalid command-line option\n"); #### use File::Basename qw( basename ); sub help { my $prog = basename($0); print("usage: $prog -t [options]\n"); exit(0); } sub usage { my $msg = shift || ''; my $prog = basename($0); die("${msg}Use $prog --help for help\n"); } GetOptions( 'help|h|?' => \&help, 'test=s' => \$option_test, ) or usage(); defined($option_test) or usage("Missing argument -t\n");