parv has asked for the wisdom of the Perl Monks concerning the following question:
screw.perl --debug --
...and screw.perl...
#!/usr/local/bin/perl -w use strict; use Getopt::Long; my %opt = ( 'debug' => 'g1' ); GetOptions( 'debug=s' => \$opt{'debug'} ) || die ("$!\n"); while ( my ($k , $v) = each %opt ) { printf "%s = %s\n" , $k, $v; }
I was expecting the program to die instead of seeing...
debug = --
...'--' is not swallowed (which has been the intention all along), however, when usage is one of the following...
screw.perl -debug= -- screw.perl --debug= --
Mind you above is only the minimal text to show my problem. I had tried various combinations of configure options (for the module) to no avail. And yes, writing a '=' instead of just ' ' is not preferred.
I am writting a wrapper program which has often used options for the wrapped program in a hash; other options are passed as is. Specifying (on command line) any option to pass as is before the ones set in GetOptions() is hard to work w/.
All the problems want me to write my own damn option parsing module. How do people cope when writing a a Perl wrapper which accepts known & unkwon options for the wrapped program?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Wrapper headache - Getopt::Long screw up w/ '--' and missing opt value
by sauoq (Abbot) on Feb 09, 2003 at 23:02 UTC | |
by parv (Parson) on Feb 10, 2003 at 04:25 UTC | |
|
Re: Wrapper headache - Getopt::Long screw up w/ '--' and missing opt value
by waswas-fng (Curate) on Feb 10, 2003 at 05:11 UTC | |
by parv (Parson) on Feb 10, 2003 at 06:02 UTC |