小規模Webサイト向け CMS 「すぐ使えるCGI」のサポート情報

Perl のパスとは何ですか?

最終更新日: 2013-06-24

Perl のパスとは

「Perl のパス」 (ぱーるのぱす) についてのご説明です。

CGI の設定における「Perl のパス」の意味

「Perl のパス」は CGI プログラム実行のためにプログラムファイル内に記載しておく事が必要な情報で、具体的には以下のような文字列です。ご利用の Web サーバの管理会社から情報が提供されているはずですので、管理会社に問合わせるかユーザ用のマニュアルなどをご参照下さい。

/usr/local/bin/perl

/usr/bin/perl

C:/Perl/bin/perl.exe


プログラムファイル内の記載方法

Perl のパスが分かったら、CGI プログラムの必ず1行目に以下の形式で記載します。

#!(調べたPerlのバス) --


例)

#!/usr/bin/perl --


「Perl のパス」が何を表しているか

「Perl のパス」は、「Perl の実行エンジン」とも呼ぶべきアプリケーションが、サーバ内でインストールされている場所を示しています。

「Perl の実行エンジン」は、Perl で書いたプログラムを読み取りプログラム通りに各種の表示やファイル書き出しなどを行う、CGI プログラムの親分とも言えるアプリケーションソフトウェアです。

なぜ「Perl のパス」をプログラム内に書かなければならないのか

ではなぜ「Perl のパス」をプログラム内に書いておかなければならないのでしょうか?

例えば、Windows パソコンだと、ファイルの拡張子 ( .html や .doc などのファイル末尾の部分) によってそのファイルを開くアプリケーションが決まっています。例えば、shorui.doc という名前のファイルをダブルクリックすると MSワードが自動的に起動します。

これは、パソコンの基本設定として「『.doc』だったらワード」などの関連づけの設定が既に組み込まれているためなのですが、サーバマシン上でこの関連付けの役割を果たすのが、ファイルの 1行目に書いておく「Perl のパス」なのです。

歴史的な事実として、サーバマシンである UNIX 系の OS はファイル名の拡張子から実行するアプリケーションを選ぶという事を行いません。そのかわり、ファイルの1行目だけを読みとって、書いてあるパスが示すアプリケーションを起動します。

CGI プログラムは、実は Perl 以外にもいろいろな親分アプリケーションを使う場合が考えられます。このため、いちいち親分アプリケーションとの関連付けを示すために、プログラム内にパスを記載しておく必要があるのです。

関連リンク

さらに詳しく