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