Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Should you check the return code from Getopt::Long::GetOptions?

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?

like image 840
Rob Wells Avatar asked Jul 17 '12 16:07

Rob Wells


1 Answers

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!

like image 149
toolic Avatar answered Sep 18 '22 18:09

toolic