• ベストアンサー

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

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

  • ベストアンサー
  • lahalito
  • ベストアンサー率48% (31/64)
回答No.1

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" %*

mami--
質問者

お礼

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

その他の回答 (1)

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

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

mami--
質問者

お礼

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

関連するQ&A