次のオプションを使うと,スクリプトのチェックができる。
c: | スクリプトを実行せずに,文法のチェックを行う。 |
w: | 問題があるところ,または問題がありそうなところを報告する。 |
-wc のように,同時に複数のオプションを指定できる。スクリプト作成時にはオプションを付け問題点をチェックするようにすると,問題が起きにくくなる。
-------------------------------------------------- % perl -e 'print $var;' % --------------------------------------------------
$var は未定義なので,空の文字列を出力して (つまり何も出力しないで) 終了する。
-------------------------------------------------- % perl -ce 'print $var;' -e syntax OK % --------------------------------------------------
オプション c があるので,スクリプトを実行せずにチェックだけを行う。「syntax OK」なので,文法的な Perl のスクリプトである。 スクリプトファイルを指定すると,-e の箇所にはスクリプトファイル名が来る。
-------------------------------------------------- % perl -we 'print $var;' Name "main::var" used only once: possible typo at -e line 1. Use of uninitialized value at -e line 1. % --------------------------------------------------
文法的には正しいため,スクリプトは実行される (空の文字列を出力する) が, 書き間違い,あるいは誤った操作につながる可能性のある箇所を指摘する。
- 変数 $var はスクリプト中に一度しか現れないため,タイプミスの可能性がある
- 変数が初期化されていない
次のように #! の行でオプションを指定することもできる。
-------------------------------------------------- #!/usr/local/bin/perl -w $/ = ""; while (<>){ if (/\bworth\b/i) { print "-" x 30 . "\n"; print "$ARGV\n; print $_; } } --------------------------------------------------
[#! についてはこちらを参照]