【Perl】スクリプト先頭の #! について

Perl

Perlスクリプトを読むと、よくファイルの先頭に以下のような記述があります。

#!/usr/bin/perl

本記事では、上記の記述の意味について紹介します。

#!/usr/bin/perl とは

#!から始まる行を、シェバン行といいます。

Unix系OSの場合

シェバン行は、Unix系OSでスクリプトを実行する際に非常に重要な役割を果たします。具体的には、スクリプトファイルが直接実行された場合に、どのインタープリタを使ってそのスクリプトを実行すべきかをOSに指示します。つまり、#!/usr/bin/perl は「このファイルを実行する際には /usr/bin/perl を使ってください」とオペレーティングシステムに教えています。この働きにより、スクリプトを以下のように直接実行した場合も、適切にインタープリタが選択されます。

sample.pl

Windows環境の場合

Windows環境では、シェバン行は書かなくてもPerlスクリプトを実行は可能です。その代わり、Windowsでは、Perlスクリプトを実行するために、Perlインタープリタを明示的に呼び出すか、ファイルの関連付けを設定する必要があります。

perl sample.pl

拡張子 .pl がperlインタープリタに関連づけられている場合は、以下のように直接実行が可能です。

sample.pl

まとめ

本記事では、スクリプト先頭のシェバン行(#!)について紹介しました。Windows環境においては、シェバン行は書かなくても実行可能なのですが、私は移植性のため書くようにしています。

タイトルとURLをコピーしました