• ベストアンサー

Perlのパス

レンタルサーバーのCGIの説明で、「1.perl のパスは、/usr/bin/perl です。2.プログラムの先頭の記述は必ず、#!/usr/bin/perl となります。」って書いてあるんですけど、これを使用する場合、 http://www.kent-web.com/data/cart.html たぶん、admin.cgi , cart.cgi , order.cgi を エディタ で開いて以下の箇所をあたまの部分、#!/usr/bin/perl を変えればいいんですかね?それで1.の/usr/bin/perl は何処に書くのかな?それとも説明 の前置きですかね?「1.perl のパスは、」という意味はリンクがこうなるよ!って意味ですかね? ただま、KENT WEBみながら苦戦してます。 シロウトですいません。

質問者が選んだベストアンサー

  • ベストアンサー
  • Dpop
  • ベストアンサー率51% (279/544)
回答No.3

補足説明です。 #! は、シェルに実行すべきプログラムを教えるための指示です。 #!/usr/bin/perl と書くと、これ移行に続く文章(スクリプト)は、/usr/bin と言う場所にある perl と言うプログラムに引き渡してくださいな。 と、シェルに依頼している。と言う意味があります。 サーバーによって、perl などのプログラムを格納しているパスが異なっている場合があるため、KENT WEB さんは、 #!/usr/bin/perl の部分を、そのサーバーにあわせて書き換えて下さいね。 と言うことを言わんとしているのです。 ちなみに、この指定を書き換える必要があるファイルは、直接実行されるスクリプトファイルのみです。それ以外のファイルは書き換える必要はありません。(書き換えても、悪さはしませんが。) CGI作者でも、シェルの事まで意識して説明して居られる方は少ないですね。致し方ないのかも知れません。

legs
質問者

お礼

ありがとうございました。 内容がわかると、応用がききますよねぇ。 なぜ、そうなるとかとか、、。 こんなに詳しく書いてもらい感謝しております。

その他の回答 (2)

noname#25358
noname#25358
回答No.2

 最初から #!/usr/bin/perl になっているなら、何もする必要はありません。  フリーのCGIは、たまに #!/usr/local/bin/perl になっているので、その場合だけ書き換えます。

legs
質問者

お礼

ありがとうございます! なるほど、localはいらないんですね! 同じだと思ったら違ってました。 やれやれってかんじです。 どうもでした。

  • sisya
  • ベストアンサー率39% (97/244)
回答No.1

legsさんの推測で正解だと思います。 「このレンタルサーバのperlのパスは/usr/bin/perlだから、  プログラムの先頭には#!/usr/bin/perlと付けてください」 と言う意味です。

legs
質問者

お礼

さっそくのお答えいただきありがとうございました。 やっぱりそうだったんですねぇ。 これで週末やってみます!!