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
GetOptionsfunction is that they want to process unspecified options without using Getopt::Long (by parsing@ARGVdirectly afterGetOptionsis called). Or, maybe they just want to ignore unspecified options. Or, maybe they are unaware that theGetOptionsfunction 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!