2012-07-17 36 views
8

Getopt::Long PerlモジュールのGetOptions()関数の呼び出しからの戻りコードを確認するコードレビューではじめて質問されました。Getopt :: Long :: GetOptionsの戻りコードをチェックするべきですか?

GetOptions()機能についてのこのようなテストを見たことはありません。

人々が一般的にこの機能のリターンコードをチェックしない特定の理由はありますか?人々はGetOptions関数の戻り値をチェックしません

答えて

11

一つの理由は、彼らが(と呼ばれるGetOptions後に直接@ARGVを解析することによって)Getopt::Longを使用せずに未指定のオプションを処理したいということです。あるいは、指定されていないオプションを無視したいだけかもしれません。あるいは、おそらく彼らはGetOptions関数が失敗することに気付かないでしょう。

私はコマンドラインで入力ミスをキャッチしたいので、常に戻り値をチェックします。標準的なチェック方法は、Pod::Usageコアモジュールを使用します(コード例についてはPODを参照してください)。参照:The Dynamic Duo --or-- Holy Getopt::Long, Pod::UsageMan!

+2

私は通常、コマンドライン引数を解析する際にエラー時にプログラムdieを作成したい場合は、GetOptionsの戻り値をチェックします。 'GetOptions(...) 'がなければ' die'のように。そうでなければ 'pass_trough'は' @ ARGV'の残りの引数を捕まえるためのオプションです。 –

+1

非常に便利な答えのために感謝します。私は間違ったオプションを考えなかった。そして、なぜ私がPerlにポッドを追加しなければならないのか、もっと多くの情報を提供する記事へのリンクに対する大きな感謝! –

関連する問題