#!/opt/local/bin/perl use strict; use warnings; print "hoge\n";
これをperlコマンドに渡すと普通に実行される。
$ perl hoge.pl hoge
perlコマンドで"-c"オプションを使うと、実行されずに文法チェックが行われる。
$ perl -c hoge.pl hoge.pl syntax OK
コマンドラインオプションで指定しなくても、シェバング行で指定すれば同様の効果に。
#!/opt/local/bin/perl -c use strict; use warnings; print "hoge\n";
$ perl hoge.pl hoge.pl syntax OK
ちなみに、"perldoc perlrun"によると、"BEGIN", "CHECK", "use"のブロック内のコードは実行されてしまうらしい。
#!/opt/local/bin/perl -c use strict; use warnings; BEGIN { print "BEGIN\n"; } print "hoge\n";
$ perl hoge.pl BEGIN hoge.pl syntax OK
あとは、Bパッケージの"minus_c"関数を"BEGIN"ブロック内で呼ぶと、"-c"で実行したのと同じ効果になるらしい。
#!/opt/local/bin/perl use strict; use warnings; use B qw(minus_c); BEGIN { minus_c; } print "hoge\n";
$ perl hoge.pl hoge.pl syntax OK