• ベストアンサー

コマンドラインが使えません。

WinXP apache1.3.19 perl5.8.7 コマンドラインにてperl -vでバージョン表示あります。 #which perlでは、 「'#which' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」と表示されます。 また、他のコマンドでは、'#’も認識されません。 perlのpathは、マイコンピュ-ターの環境変数で設定しました。 #which perlで表示させるためにはどうすればよいのでしょうか? ご存知の方よろしくお願いいたします。

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

  • ベストアンサー
  • UKY
  • ベストアンサー率50% (604/1207)
回答No.4

設定した環境変数を表示させるには set コマンドを使います。 set path を実行して設定したパスが表示されれば OK です。他の方の回答にあるように、echo コマンドを使って echo %PATH% で表示することもできます。もっとも、 perl -v でバージョン情報が出たとのことなのでもう既にパスはちゃんと通っているようですが。 もしかして %PATH% をコマンドとして実行したのですか? それならエラーが出て当たり前だと思いますが……。

baltes
質問者

お礼

UKYさま ご返答ありがとうございます。set pathを実行したところ、 Path=E:\usr\local\bin\;E:\WINDOWS\system32;E:\WINDOWS;E:\WINDOWS\System32\Wbem PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH のように表示されました。 コマンドラインを使う目的は、ある設定ファイル.confをupdateするために.plファイルを実行したいのですが、×××.pl-config=×××-update 上記のPATHEXTを見ると.plの表記がないのですが、このことと関係があるのでしょうか? まったく見当違いかもしれませんが、よろしくお願いいたします。

その他の回答 (4)

  • UKY
  • ベストアンサー率50% (604/1207)
回答No.5

えっと、まだ何か問題がありますか? もうパスは通っているんだから、 perl ファイル名.pl という感じで実行できますよね?

baltes
質問者

お礼

UKYさま 遅くなりましたが、ありがとうございました。 何とか無事実行できました。 またよろしくお願いいたします。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.3

>#which perlでは、 >「'#which' は、内部コマンドまたは外部コマンド、 >操作可能なプログラムまたはバッチ ファイルとして認識されていません。」と表示されます。 これは、Unix系OSでのPerlの確認方法ですが。。。 先頭の#はUnix系OSのコマンドプロンプトの印で、入力不要。 さらに、whichコマンドは、Windowsの標準コマンドではありません。 WindowsXPの環境変数PATHにPerlのbinディレクトリが指定されているか確認してください。 f:\> echo %PATH% C:\WINDOWS\system32;C:\WINDOWS;E:\Java\jdk\bin;E:\Perl\bin\; それが確認できたら、あとはコマンドラインでPerlを実行するだけです。 f:\> perl -v This is perl, v5.8.7 built for MSWin32-x86-multi-thread (with 14 registered patches, see perl -V for more detail) Copyright 1987-2005, Larry Wall Binary build 815 [211909] provided by ActiveState http://www.ActiveState.com ActiveState is a division of Sophos. Built Nov 2 2005 08:44:52 Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using `man perl' or `perldoc perl'. If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page. f:\> こんな感じです。

baltes
質問者

お礼

xjdさま ご返答ありがとうございました。 勉強になりました。 早速 %PATH% で確認したのですがどうもパスが通っていないようです。 apache とperlを次のようにインストールをしたのですが、windowsXPではまちがっているのでしょうか? E:/usr/local/apache/ E:/usr/local/bin/perl これに対し、マイコンプロパティー-環境変数パスの編集で E:/usr/local/bin/;を追加しました。 そして今回確認をしたところ perl -v ではご指摘のとおり、バージョンナンバーの表示がありますが、 %PATH%  では、 'E:\usr\local\bin\' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。 と表示されます。 上記ディレクトリ構造でのパスの指定方法よろしくお願いいたします。 (インストール方法に誤りがあれば入れ直しますのでご指摘よろしくお願いいたします。)

  • voidtea
  • ベストアンサー率14% (1/7)
回答No.2

やりたいことが良くわからないのですが、 (Q).CGIでPERLのパスを記述したい (A). たぶんWindowsサーバーでは、 先頭行にパスを記述する必要はありません。 (PATHが通っているなら) (Q).Windowsでwhichコマンドを使用したい (A). whichコマンドはUNIX/LINUX系のコマンドです。 Windowsで使用したい場合はcygwinなどを利用するか、 自分でbatファイルを書くなどの方法が必要です。

baltes
質問者

お礼

voidteaさま cygwinですか。 これから調べてみます。 ありがとうございました。

  • butarou
  • ベストアンサー率24% (7/29)
回答No.1

よくわからないけど、#をつけないで which perl とだけ入力してみたらどうでしょうか?

baltes
質問者

お礼

butarouさま ご返答ありがとうございます。 which perlも試してみたのですが、だめでした。 またよろしくお願いいたします。