I've just been asked for the first time in a code review to check the return code from a call to the GetOptions()
function of the Getopt::Long
Perl module.
I cannot remember ever seeing such a test for the GetOptions()
function.
So is there a specific reason why people don't generally check the return code of this function?
One reason that people don't check the return value of the GetOptions
function is that they want to process unspecified options without using Getopt::Long (by parsing @ARGV
directly after GetOptions
is called). Or, maybe they just want to ignore unspecified options. Or, maybe they are unaware that the GetOptions
function can fail.
I always check the return value because I like to catch typos on the command line. A standard way to check makes use of the Pod::Usage Core module (see the POD for example code). See also: The Dynamic Duo --or-- Holy Getopt::Long, Pod::UsageMan!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With