• ベストアンサー

Perlでのプログラム実行方法

使ってるOSはWindows XPです Perlで作ったプログラムはどうやって実行するのでしょうか? それと/の反対側の記号が表示されません。参考書はUnixをベースとしてるのでWindowsでは別の記号になるのでしょうか?

  • Perl
  • 回答数7
  • ありがとう数4

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.7

>Can't open perl script "name.pl": No sush file or directori そのディレクトリにname.plがありません。 Ownerディレクトリにname.plをコピーしてから実行するか name.plがあるディレクトリに移動して下さい。

ryuukei
質問者

お礼

ありがとうございます!無事、Hello world と表示されました。

その他の回答 (6)

  • ency
  • ベストアンサー率39% (93/238)
回答No.6

どのような動作を期待しているのかわかりませんが、Active Perl の場合、Perl スクリプトファイルをダブルクリックしただけだと、スクリプト終了時点で DOS 窓が閉じてしまいます。 結果を確認したのであれば、次のいずれかの方法が良いと思います。 1. すでに何名かの方が提案されている通り、DOS 窓を開いて実行する。 例) DOS 窓のプロンプトで以下を実行 (実行スクリプト:hoge.pl) perl hoge.pl 2. Perl スクリプトファイルの最後、以下のような入力待ちを入れる。 例) ファイルの最後に以下の1行を追加。  <STDIN>;  改行入力で、実行していた DOS 窓が閉じます。 通常は、1. の手順をおすすめします。 特に、文法エラー等コンパイル時点でエラーになっている場合等、1. の手順の方がわかりやすいです。 こんなもんで、参考になりますでしょうか。

ryuukei
質問者

補足

遅くなってすみません。 コマンドプロンプトでperl name.pl と入力すると Can't open perl script "name.pl": No sush file or directori と表示されてしまします。Hello world と表示させたいのですけどできません。 コマンドプロンプトはC:\Documents and setting\Owner>ってなっててC:\Documents and setting\Owner>perl name.plと入れて問題ないですよね。あまり分からないのでヨロシクお願いします

回答No.5

コマンドプロンプト(DOS窓)は、[スタート]-[ファイル名を指示して実行]で、cmdとやっても開きますね。 /の反対(バックスラッシュ)は、日本語環境では\と同じです。コマンドプロンプトからusとやると英語モードになるので\を押すとバックスラッシュが表示されると思います。日本語に戻すときはjpです。

ryuukei
質問者

補足

あの、プログラムを実行しようと保存して保存先のアイコンをクリックすれば実行できるんですか? 実行すると1秒も立たないうちに立ち上がって直ぐに消えてしまうんですけどどうすればいいのでしょうか? ファイル名を指示して実行とやっても同じように立ち上がって消えてしまいます。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

>コマンドプロンプトってどうやって実行するんですか? [スタートメニュー]から「すべてのプログラム」~「アクセサリ」~「コマンドプロンプト」 "コマンドプロンプトヒア"がある方が便利 >プログラムを保存してそれを開こうとすると一度、立ち上がって直ぐに勝手に閉じてしまいます。拡張子はちゃんとplにしてます。なぜですか? それは、Active Perlで拡張子plに関連づけされているからです。 送るでエディタに送ったりドロップしたりして開かないとだめです。 つまり、開くで起動してしまって、実行が終わって閉じてしまうってことですね。 通常は入力ファイルがいると思うので、プログラムからファイルを開いたりしていない場合には、データ(データ読み込み)ファイル名をつけてやらないといけませんね。 実行が終わると閉じてしまうということが、わかっていれば、入力待ちにして、終了を待たせることもできると思います。

  • acacia7
  • ベストアンサー率26% (381/1447)
回答No.3

普通にパールのプログラムを実行するだけですか?? 実行するだけならば、#1の方のようにコマンドラインとかで実行するか、「ファイル名を指定して実行」するぐらいでしょうか。 もし、CGI関係を利用したいならば、Webサーバーを立ち上げて、Perlをインストールして・・少々作業が必要になります。 でも、その後はIEなどで「http://127.0.0.1/~.cgi」とかで実行可能になります。

  • ysk6406
  • ベストアンサー率40% (237/589)
回答No.2

Perlで作ったプログラムを実行するには、当然ながらPerlのシステム(Perlインタープリタ)が必要です。 Perlシステムは、何をお使いですか? コマンドプロンプトで“perl -v”とやって、Perlのバージョン情報が表示されますか? これがOKなら、作ったプログラムのファイル名を仮に sample.pl とすると、  perl sample.pl で実行できるはずですが… もう少し、環境について詳しく教えていただけると、より具体的な回答ができると思います。

ryuukei
質問者

補足

コマンドプロンプトってどうやって実行するんですか? Perlシステムは確かActive Perl5.6.1です。 テキストエディタはterapadを使っています。 OSは Win XP それと書いたプログラムを保存してそれを開こうとすると一度、立ち上がって直ぐに勝手に閉じてしまいます。拡張子はちゃんとplにしてます。なぜですか?

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

perl prog.pl で実行します。 関連づけすることでも実行できます。 それと/の反対側の記号、日本語キーボード(コード)では、\です。

関連するQ&A

  • perl が 実行できない

    perl 初心者です。 apache を起動させ(起動画面は表示)、perl のファイルを IE で表示させようとして、print文を実行しても、print文がそのまま表示されるだけになっています。 perl のパスは、#! d:/perl/bin/perl です。 (コマンドラインから実行すると実行できるので、インストールは正常です。) (XP以前だったと思いますが、そのときは IEで、長文のプログラムが起動できていましたが。)

  • Windowsサーバ+Perl +アプリ実行は可能?

    Perlでコマンドを実行したいとき、 Linux/Unixサーバのなら system("コマンド名"); と、できるはずですが、 Windowsサーバ+Perlの場合、サーバにインストールされている プログラム/アプリケーションを実行したりすることは可能でしょうか。 具体的なイメージは ユーザーがブラウザからアクセスすると CGIは、サーバ側にインストールされているExcelを起動して マクロを実行、データをCSV形式ファイルに保存。 CGIは保存したCSV形式のファイルを展開し ブラウザ上で表示。 ということは可能ですか? もし可能ならPerlの書式を教えていただければ うれしいですー。

    • ベストアンサー
    • CGI
  • perlから他のプログラムを動かす方法

    Windows XP環境で作業をしています。 コマンドプロンプトで、次のように動かすプログラムがあったとき、 今のディレクトリ>command file1 file2 file3 これをperlから呼び出したい(perlで実行させたい)のですが、どのように書けばいいのでしょうか。 調べるとパスという言葉がよく出てくるのですが、パスという言葉の意味もよくわかっていません; わかる方がいらっしゃいましたら、是非教えてください。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • 実行中のプログラムについて

     こんにちわ。 どうしても分からない事がありまして、投稿しました。 私の使用しているPCはNECのノートPCで、OSはWindows XP SP2です。 私はPCにパスワードを設定していて、電源を入れてもパスワードを入力しないとWindowsが起動しないようになっています。 それで最近気が付いたのですが、電源を入れてパスワードを入力する画面が表示された時に「7個のプログラムを実行しています」と表示されます。 何のプログラムが実行されているのか気になって、「7個のプログラムを実行しています」をクリックして見たら 「実行しているプログラムが多すぎるためにコンピュータの処理速度が、通常より遅い場合はプログラムをいくつか終了して下さい」と表示されました。 実行されているプログラムの内2個は分かるのですが「多分、ウイルスバスター2007と日記帳」残り5個がどうしても分からないのです。 実行されている残り5個のプログラムを見つける方法を教えてください、よろしくお願い致します。

  • Perl はOSによって動作が違ったりするのか?

    お世話になります。 PerlでCGIを作成しようと思うのですが、Webサーバ側の環境がWindows2000、Linux、UNIXなど、OSによって動作が違ったりするのでしょうか? と、いいますのも、WebサーバはUNIXでSun ONE WebServerなのですが、 PerlのプログラミングはWindowsで、テストは、Windows 2000+ApacheまたはIISなどでしようと考えています。 Windowsの環境で作成、テストしたPerlプログラムを、 UNIXのSun ONE WebServerにアップした際、 不具合なく動作するかどうかが心配なのです。 以上、ご教授よろしくお願いします。

    • ベストアンサー
    • Perl
  • プログラムの実行がうまくいかない。

    下記のアドレスのプログラムを実行したら、 http://www.winsock2.org./samples/Ch05/Ping/Ping.c 「Usage:ping hostname」 と表示されてうまくいきません。 プログラム内のどこか変える必要があるのでしょうか? お願いします。m(__)m OSはWindows XPでコンパイラは、ボーランドのフリーコンパイラを使用しています。

  • プログラムを実行する際のWindowsとMacの違い

    私は今、会社ではUNIX(系?)、自宅ではWindowsを使用しています。 会社の仕事でPerlを使用しています。 実行に時間がかかる場合、 会社のUNIXでは他の作業を進めることができるのですが、 自宅のWindowsではそれができません。 そんな中、 知人から「MacはUNIXと似てる」という情報を仕入れました。 Macだと、プログラムを実行中に 他の作業を進めるというような事が可能かどうか、 ご存知の方がいらっしゃいましたら教えていただけますでしょうか? よろしくお願いしますm(_ _)m

  • ActivePerlでプログラムを実行するとMS-DOSプロンプトが強制終了する。

    Perlを勉強し始めた者です。 Perlの構築方法等が書かれた本を元にPerlの動く環境を作って早速やって みているのですが、Perlプログラムを実行させるとMS-DOSプロンプトが エラーを発し、DOSウィンドウが強制的に終了させられてしまいます。 その後は再起動をかけないと、同様のエラーが出てDOSウィンドウが 開きません。 これはPerlというよりWindows側の問題のような気もするのですが、何か 解決策がありましたらぜひお願いします。このままですと、Perlでの プログラミングなど到底できません。 以下に私の環境を記します。 OS:Windows Me Perl:ActivePerl ver5.6.1 build 633 httpd:AN HTTPD Browser:Internet Explorer 6.0 エラー内容: (このエラーは別のウィンドウが出てそこに表示されます) 「------------------------------------------------------------- このプログラムで無効な処理が発生したため、強制終了されます。 すべてのプログラムを終了してから、コンピュータを再起動してください。 プログラムで頻繁にエラーが発生する場合は、「スタート」ボタンを クリックして、「ヘルプ」をクリックし、「トラブルシューティング」 の「MS-DOSプログラムに関する問題」を参照して下さい。         [OK]    [詳細(D)] プログラムが無効な操作を実行しようとしました。 エラーが起きたアドレス:06AB:20A6 サービスへの割り込み:なし  -------------------------------------------------------------」 ウィンドウズが起動して初めてPerlプログラムを実行する時はうまく 結果を返します。が、何回か実行させると突然、上のようなエラー メッセージが出てきて強制的にDOSウィンドウが閉じられます。 どなたかこのエラーの回避方法をご存じの方、おられましたらぜひぜひ お教え下さい。宜しくお願いします。

  • perlプログラムが動かない

    パールのプログラムを作成して拡張子「.pl」で保存するとアイコンがパールのマークになりますよね。 プログラムファイルにデータファイルをドラッグすると、プログラムファイル(拡張子.pl)のアイコンが白黒反転して、目的の加工データをファイルとして出力するプログラムがるのですが、プログラムを作成したパソコンともう一台しか動作しません。他のパソコンでは、プログラムファイルにデータファイルをドラッグしても、プログラムファイル(拡張子.pl)のアイコンが白黒反転せず、パールプログラムが動作しません。 どこの設定をどのように変更すればいいのでしょうか。(プログラムファイルのアイコンを白黒反転させるにはどうしたらいいのでしょうか。) コマンドプロンプトでパスが通っているか確認をしたのですが、どのパソコンもパスは通っています。 プログラムの動作するパソコンの「システム環境変数のpathとPATHEXT」をプログラムの動作しないパソコンにコピーペーストしてもNGでした。 ※perl.exeが入っているディレクトリは同じにしています。プログラムファイとデータファイルをperlフォルダに入れても駄目でした。  OSは、Windows XPです。

  • perlからphpを実行して結果を得る方法

    perlのプログラムから同一サーバー内のphpを実行してその結果を取得したいのですが、うまくいきません。 print.phpというファイルの中身が <? echo "<div>1234567890</div>"; ?> だとして、これをブラウザで見た場合のソースは <div>1234567890</div> となるわけで、この1234567890をperlのプログラム内で表示するために main.cgiというプログラム内で $data = '/***/www/print.php'; open(FH,$data); @list = <FH>; foreach $data_line ( @list ) { if ($data_line =~/<div>/ ){ $data_line =~ s/<div>//i; $data_line =~ s/<\/div>//i; print = $data_line; } } close(FH); のような処理をすると echo "1234567890"; という実行前のphpの中身が表示されてしまいます。 表示したい結果はこの場合ブラウザでphpを実行した時のソースからdivタグをperl側で抜き取った 1234567890 なのですが、同じ事をperlの書き換えで実現する上手い方法があればご教授いただけますと助かります。

    • ベストアンサー
    • CGI

専門家に質問してみよう