コマンドプロンプトでperlを実行できない問題

このQ&Aのポイント
  • コマンドプロンプトからperlを実行できないとエラーが表示される
  • Active Perl 5.8.7 Build 813を使用しているが、ファイルが見つからないエラーが発生する
  • コマンドプロンプトでperl -vコマンドを実行するとバージョン情報は正常に表示される
回答を見る
  • ベストアンサー

コマンドプロンプトからperlを実行できません

エディターで作成した者を、ex1.plとtxt形式で保存し、それをコマンドプロンプトでperl ex1.plとやってもCan't open perl script;No such file or directory と出てきてしまいます。 この原因は、何なのでしょうか? ちなみに、コマンドプロンプトでやるとperl -vと打ちEnterを押すときちんとバージョン情報が出るので、ダウンロードはできていると思います。 ダウンロードしたのは、Active perl 5.8.7Build813で、現在XPを使っています。 プログラミング初心者なので、わかりにくい文章で申し訳ないですが、教えて下さい。

  • Perl
  • 回答数3
  • ありがとう数1

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

  • ベストアンサー
noname#198951
noname#198951
回答No.3

コマンドプロンプトを開いた状態ではカレントディレクトリにex1.plが無いからでは ないでしょうか? コマンドプロンプトで"dir"と打ってex1.plがあるかどうか確認してください。 多分無いと思いますので、ex1.plのファイルを作成したディレクトリまで 移動するかもしくは以下のようにディレクトリの指定をしてください。 perl <ex1.plのあるディレクトリ>\ex1.pl 例:ex1.plのファイルがC:\workにあった場合 perl c:\work\ex1.pl

その他の回答 (2)

  • hara_peko
  • ベストアンサー率28% (11/38)
回答No.2

ex1.plはトカゲのアイコンになってますか?もしなっているのであれば、コマンドプロンプトから cd でex1.plのあるディレクトリまで移動してやってみると? あと、こちらはアドバイスになりますが、 コントロールパネル→システム→詳細設定→環境変数 で、システム環境変数 PATHEXT の末尾に ;.PL を加え、新規でユーザー環境変数 path に ex1.pl を置いてあるフォルダまでのフルパスを設定すると ex1 と打つだけで実行させることができます。

  • PCFREAK
  • ベストアンサー率51% (417/805)
回答No.1

ex1.plで保存したつもりだけど、txt形式を選ばれたという事で、 ファイル名がex1.pl.txtになっているのではないですか? エクスプローラの設定で「すべての拡張子を表示する」にして再度確認してみてください。 ファイル名を直して再度実行すれば、おそらく問題なくPerlで実行出来ると思います。

関連するQ&A

  • エディダソフトで作成のファイルをコマンドプロンプトで表示出来ない。

    perlの勉強を始めたばかりです。 エディダソフト Terapadをインストールし、perlのファイル ○○○.plを作成し、コマンドプロンプトで表示しようとしても、 そのファイルの1つ前のフォルダまでは行けますが、最後の.plファイルを表示させようとすると、 can't open perl script c:\documents :no such file or directory と表示が出て、命令できません。 どうすれは、エディダで作成した.plファイルを反応させることが出来るのでしょうか。  (perlはインストールしています。)  (apacheはインストールしていません。)

    • ベストアンサー
    • Perl
  • perlをコマンドラインで実行したい

    今はperlをコマンドプロンプト上でファイルをコンパイルして実行結果を別のテキストファイルに出力しています。(printなど) ただ、こまごまとした置換え・変換などいちいちテキストファイルにperlを書いてコンパイルして出力ファイルを開いて取り出すというやり方にわずらわしさを感じてきました。 簡単なスクリプトであれば、使い捨ての方がよく感じており、 コマンドプロンプトで試してみたのですが、長い文章やソースなどを変数にいれることができず、(改行がEnterにとられてしまう??)また、一行にずらずらとかかなくてはならないので、うまくいきません。 なにか、テキストエディタのような感じで、このようなperlスクリプトをコンパイルできるようなものはあるのでしょうか。 copalというものを使ってみたのですが、 ファイルハンドルなどが使えなかったのでだめでした。 どなたかご協力お願いします。

    • ベストアンサー
    • Perl
  • perlでパスが通らない?

    環境はwindowsXPです。 パスがうまく通っていないようです。perl.exeが入っているファイルへのパスは正常に働いているのに、自分で作ったファイルを置いているC:\documents and settings\user\my document\perlというファイルへのパスがうまくはたらきません(Can't open perl script "test.pl": No such file or directoryと表示されます) コマンドプロンプトで「path」を使ってみても上記のフォルダはちゃんとPathに記述されています(;も入っています)。 何がいけないのでしょうか?

  • 初心者 Hello worldをしたい

    ActivePerl をインストールしました。 早速、Hello worldを表示させようと思うのですが メモ帳に「print "Hello world!!\n";」と記載して 「hello.pl」という名前で保存しました。 それをデスクトップにおきました。 その状態で コマンドプロンプトで「perl hello.pl」を実行しても Can't open perl script "hello.pl": No such file or directory (和訳:開いたperlは、「hello.pl」のスクリプトを書くことができません:そのようなファイルまたはディレクトリ) が返って来ます。 多分、デスクトップにおくのが間違いだと思うのですが どこに「hello.pl」を置いて 「perl hello.pl」を実行すればいいのでしょうか? ご教授よろしくお願い致します。

    • ベストアンサー
    • Perl
  • GUIアプリスタート後コマンドプロンプトのウィンドウを隠したい

    コマンドプロンプトから次のようなコマンドを入力して、 GUIアプリ(スクリプト)をスタートさせています。 (Perl/TkによるGUIアプリが起動します)    perl hoge.pl ここでhoge.plが立ち上がった後はコマンドプロンプトの 黒いウィンドウは目障りで出来れば消したいのですが そんなことはできるのでしょうか? どなたかお分かりになる方いらっしゃいましたら お教え願えませんでしょうか? どうぞよろしくお願いします。

  • PERLスクリプトのコマンドライン実行

    お世話になります。 Perlスクリプトをコマンドライン実行するとき、 perl スクリプト名.pl とすると思いますが、その際、コマンドライン引数を渡してスクリプト内で、その引数を見て処理したいと思うのですが、そういうことできますか?引数の渡し方、受け取り方を教えてください。

    • ベストアンサー
    • Perl
  • コマンドプロンプトで簡単にコマンドを実行するには

    コマンドプロンプトで簡単にコマンドを実行する方法を教えてください。 異なる二つのディレクトリの下にあるtest.txtというファイルを 同時に開きたいとします。 今現在は次の方法をとっています。 note d:\temp111\※\test.txt d:\temp222\※\test.txt という文をペーストして、※のところを書き換えて以下のようにしてから 実行しています。 note d:\temp111\333\test.txt d:\temp222\333\test.txt この333は444になったり555になったり・・・しょちゅう変わります。 333(444、555、・・・)を※に二回書き換えるのではなく、一回で 書き換えるツールはできますか?

  • ブラウザ上からなら実行可能なスクリプトがコマンドラインだと実行しません

    ブラウザ上からなら実行可能なスクリプトがコマンドラインだと実行しません windowXP, perl5 で開発しています。 簡単なプログラム(test.pl)なのですが ----- #!/usr/bin/perl use IO:Socket メール送信処理 1; ----- ブラウザ上から実行すると正しくメール送信されますが、 これをコマンドプロンプトから ----- perl test.pl ----- とすると、 Can't locate IO/Socket.pm と出てしまいます。 pathが通ってないとか絶対パスとかそのあたりかと思い、 socket.pmのあるパスを通したりしましたが、変化しません。 use IO::Socket を絶対パスとかで指定するのでしょうか? 解決方法をお教え頂ければと思います。 よろしくお願い致します。

    • ベストアンサー
    • Perl
  • Perlのワンライナーをスクリプトにしたい

    初歩的な質問で恐縮ですが、以下のPerlのワンライナーを、スクリプトファイルに記述するには、どのように書けば良いのでしょうか。 perl -ne "print if ( /aaa/ ); print if ( /bbb/ ); print if ( /ccc/ );" "in.txt" > "out.txt" 下記のようにしてみたのですが、ダメでした。 perl "script.pl" "in.txt" > "out.txt" ----- script.plの内容 ----- print if ( /aaa/ ); print if ( /bbb/ ); print if ( /ccc/ ); --------------------------- 環境はWindowsのコマンドプロンプトです。バッチファイルでの使用を想定しています。 自分はPerlに関する知識が無いので、Perlに関するサイトも見てみたのですが、情報が膨大で、ピンポイントでこの問題を解決する情報を探し出す事が出来ませんでした。 やり方が分かる方がおられましたら、お教え頂けないでしょうか。

    • ベストアンサー
    • Perl
  • exeを起動しようとすると、一瞬コマンドプロンプトが開き、エラーらしき

    exeを起動しようとすると、一瞬コマンドプロンプトが開き、エラーらしきものが表示されます その他のexe、レジストリエディタは起動しました ツールをダウンロード後、exeファイルを起動したんですが 一瞬コマンドプロンプトが起動し 『No such file or directory at ..blib/lib/PAR.pm line 537』 と表示され、すぐに終了してしまいます これはどうすれば起動できるようになるんでしょうか? 友人は問題なく起動できているので、原因は私の方にありそうなんですが・・・。 分かる方、お願いします

専門家に質問してみよう