kayvan@mrspoc.transact.com (Kayvan Sylvan) (02/17/90)
I've made a small modification to getopts.pl that allows me to do this: &Getopts("xyz") || die($USAGE); As it stood, Getopts would print out the "unknown option" messages but give no indication to the caller that invalid options had been entered by the user. The patch follows: *** getopts.pl~ Fri Feb 16 12:24:53 1990 --- getopts.pl Fri Feb 16 12:24:53 1990 *************** *** 4,7 ;# do Getopts('a:bc'); # -a takes arg. -b & -c not. Sets opt_* as a ;# # side effect. sub Getopts { --- 4,9 ----- ;# do Getopts('a:bc'); # -a takes arg. -b & -c not. Sets opt_* as a ;# # side effect. + ;# + ;# returns 1 if no errors, 0 otherwise. sub Getopts { *************** *** 8,11 local($argumentative) = @_; local(@args,$_,$first,$rest); @args = split( / */, $argumentative ); --- 10,14 ----- local($argumentative) = @_; local(@args,$_,$first,$rest); + local($retval) = 1; @args = split( / */, $argumentative ); *************** *** 33,36 else { print stderr "Unknown option: $first\n"; if($rest ne '') { $ARGV[0] = "-$rest"; --- 36,40 ----- else { print stderr "Unknown option: $first\n"; + $retval = 0; if($rest ne '') { $ARGV[0] = "-$rest"; *************** *** 41,44 } } } --- 45,49 ----- } } + $retval; }