こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

windowsでperlの1行目を無視する。

CGI(perl)の1行目である、#!/usr/bin/perlを読み飛ばす設定をしたいと思います。
httpd.confで
ScriptInterpreterSource registry
としました。
さらにレジストリで拡張子の関連付けが必要なようなのですが、それの具体的な方法がわかりません。

ご教授お願いします。


やりたい事は、ローカルとサーバーのperlのパスがことなるため、1行目を変更するのがめんどうでそれを改善したいのです。
現在は、c:\usr\bin\perl にperlをインストールして回避していますが・・・


環境
windows2000
apache1.3.29
perl

投稿日時 - 2004-09-28 19:00:11

QNo.1020504

暇なときに回答ください

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

Apacheの設定のScriptInterpreterSourceの説明によると・・
------------------------------
スクリプトファイルの拡張子 (例えば、.pl) を キーとして、Windows のレジストリツリー HKEY_CLASSES_ROOT を検索するようになります。レジストリのサブキー Shell\ExecCGI\Command か、それが存在しない場合は Shell\Open\Command がスクリプトファイルを開くために 使われます。
------------------------------

ということで、自分の環境ではテストしていませんが、レジストリに以下のように書くのではないかと・・・


HKEY_CLASSES
.pl
shell
ExecCGI
command @="C:\Perl\bin\perl.exe" "%1" %*

投稿日時 - 2004-09-28 21:49:00

お礼

ご回答ありがとうございます。
私はたいていの場合、.cgiを使っているので、.plを.cgiに置き換えれば良いということなんでしょうか。

投稿日時 - 2004-09-29 23:13:03

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

Perlのパスが通っていれば一行目を変えなくても動きますよ。
実際に意識してやったことはないのですが、
[コントロールパネル]-[システム]-[詳細設定]-[環境変数]の Path に perlへのパスが通っていれば大丈夫だと。
Active Perl を MSI形式のものでインストールすれば勝手に入っていると思いますが。。。

投稿日時 - 2004-09-29 02:23:44

お礼

ご回答ありがとうございます。

perlへのパスは通してあるのですが、私の環境ではうまくいってないようです。

投稿日時 - 2004-09-29 23:13:57