Perl の shebang 解析の謎
(2011/08/19 追記あり)
たとえば、こんなシェルスクリプトを作ってみて、
tsucchi@independent[102]% cat a.sh
#!/bin/sh
echo "aaa";
で、sh ではなく、Perl で実行してみます。
tsucchi@independent[103]% perl a.sh aaa
すると、ふつうにシェルスクリプトとして、実行されます。
perl -cw つけたり、B::Deparse をかけようとすると、Perl として解釈されるっぽいです。
perl コマンドのオプションのつけ方にもよるのかもしれませんが、コンパイルよりも早い段階で、シェルとして解析されているっぽいですねー。ソース読まないと細かいことは分からないですが、こんなののために Perl のソース読むのか???
とりあえず、日本語 perldoc みても、この挙動は書いてなかったし、なんか古い perl の機能の残骸っぽい気がするけど、よくわかんないし、困ってないので放置することにします。