2013年3月7日木曜日

1行目

Perlに限った話ではありませんが、ソースファイルの1行目には以下の様な記述をよく見かけます。


#!/opt/local/bin/perl


これはperl言語特有のものではなく、Linux等のシェルのお約束です。
上記の様に「#!」から始まる記述があることで、例えば普段はperlのプログラムを起動する時に、

perl hoge.pl

のように起動しますが、上記の記述があれば

hoge.pl

で起動できるようになります。(もちろん実行権限が付与されている必要があります。)

上の例では、シェルが実行権限の付いたhoge.plを開きますが、最初の行に「#!」から始まる行があることで、以降の/opt/local/bin/perlを起動し、その引数として自ファイルを渡してくれるようになります。

ですので、必ず

perl hoge.pl

等のように起動する人にとっては「#!」の行はいらないことになります。
ただし、他の人が同ファイルを起動しようとして

「hoge.pl」で起動できない!なんじゃこりゃ!?

と困ることがあるかもしれないので、お約束として付けておくのが習慣になっているようです。

ちなみに、「#!」の行は必ず1行目にある必要があります。2行めとかにあってもシェルは認識してくれません。



0 件のコメント:

コメントを投稿