你应该检查Getopt :: Long :: GetOptions的返回码吗?

Rob*_*lls 8 perl getopt getopt-long

我刚刚在代码审查中被要求检查调用Perl模块GetOptions()函数的返回代码Getopt::Long.

我不记得曾见过这样的GetOptions()功能测试.

那么人们通常不会检查此函数的返回码是否有特定的原因?

too*_*lic 11

人们不检查GetOptions函数返回值的一个原因是他们想要在不使用Getopt :: Long的情况下处理未指定的选项 (通过@ARGVGetOptions调用之后直接解析).或者,也许他们只是想忽略未指定的选项.或者,也许他们不知道该GetOptions功能可能会失败.

我总是检查返回值,因为我喜欢在命令行上捕获拼写错误.标准的检查方法是使用Pod :: Usage Core模块(请参阅POD示例代码).另请参阅:动态二重奏 - 或 - 神圣Getopt ::长,Pod :: UsageMan!

  • 我通常检查`GetOptions`的返回值,如果我想在解析命令行参数时使程序`die`出错.就像`die除非GetOptions(...)`.如果不是`pass_trough`仍然可以选择捕获`@ ARGV`中的其余参数. (2认同)