perlの起動オプション
hatenaのキーワード検索を使ってperlユーザーがなんか面白いこと
書いてないかな〜というというのを探すのが日課なんだけど、
今日は -P オプションをつけると動作が変わるスクリプト - 昨日知ったこと が見つかった。
ナニコレ!-Pオプションなんてものがあったのか。
perlrun - Perl インタプリタの起動方法 - perldoc.jpを読んでみる。
> Perl によるコンパイルを行なう前に、スクリプトを C プリプロセッサにかけるようにします。
おー面白いな。あとperlmod - Perl のモジュール (パッケージとシンボルテーブル) - perldoc.jp
に寄り道してたら CHECK ブロックとかも面白そうだったので
それも混入してみた。
#!/usr/bin/perl use strict; use warnings; #define print say print("test\n"); sub say { printf("say @_\n"); } $ perl -P t.pl // -Pオプションで挙動が変わる! say test $ perl t.pl test
syntax check の時だけ動かしたいときはどうすればいいんだろう。。
#!/usr/bin/perl use strict; use warnings; print "exit 0\n"; exit(0); END { print "END of $?\n"; } CHECK { print "check !\n"; } $ perl -c a.pl check ! a.pl syntax OK $ perl a.pl check ! exit 0 END of 0