• 締切済み

perlプログラムが動かない

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

  • H45eA
  • お礼率100% (12/12)
  • Perl
  • 回答数2
  • ありがとう数4

みんなの回答

  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.2

遅レスすいません 余り経験のない症状ですが、XPでたまにあるらしい「ドラッグアンドドロップができない」症候群でしょうか。 「SP3をはずしたら治ったとか」 「新しいユーザを作って試したら動いたとか」 「リカバリかけたら治ったとか」 「マウスが壊れていたとか」 いろいろな対処法があるようです。 今回の場合はまず、問題点を切り分けた方がいいと思います。 1.パスが通っているかどうかの確認は、ダブルクリックで起動可能なスクリプトを組んで実行してみる。 2.正常起動するなら、ドラッグアンドドロップの機能を別のいくつかのアプリで試してみる。 それでどちらが悪いのか(あるいはどっちも問題が無いのか)で攻め方も異なると思います。

H45eA
質問者

お礼

大変連絡が遅れました。 いつも回答ありがとうございます。未だに解決せずです。 会社では、SP3をはずことが出来ません。 リカバリをすると2度とプログラムが動かなくなる可能性があり、できません。 マウスは、壊れていません。(他の操作は正常。) 1.パスが通っているかどうかの確認は、ダブルクリックで起動可能なスクリプトを組んで実行してみる。 ↓ プログラムが判りません。教えて下さい。 以上

  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.1

コマンドプロンプトのパスでなく エクスプローラから 「ツール」→「フォルダオプション」→「ファイルの種類」 で「PL」拡張子に対する「詳細設定:ファイルの種類の編集」でOpenアクションに対する実行アプリはちゃんと指定されていますか?

H45eA
質問者

お礼

お礼が遅くなってすみません。 お礼を送る方法が、イマイチ判りませんでした。 回答の設定を確認した結果、perlが動かないパソコンの設定は次の通りでした。(動くパソコンと同じでした。) アクションの編集ダイヤログの内容  アクション:open アクションを実行するアプリケーション: "C:\Perl\bin\perl.exe" "%1" %*  アプリケーション:perl  トピック:System おかしいでしょうか。 他に確認するべきとところ、解決方法はありますか。 なお、質問で分かり難くかったか知れませんが、perlが動かないパソコンでも「.pl」のプログラムファイルは、perlのアイコンになっています。 「.pl」のプログラムファイルにデータファイルをドラッグしてもプログラムファイルの色が変化しないのです。

関連するQ&A

  • WindowsでPerlをする際,1行目の"#! ~"はどのように?

    Perlの参考書・本等ではプログラムファイルの第1行目は #! /usr/local/bin/perl という1行がよく有りますが,WindowsXPを用いている場合では,この1行をどう直せばよいのでしょうか? #! (perl.exeが存在するフォルダのパス) でよいのでしょうか? 私はWindowsXPを使っていて,この1行を使わずにプログラムを書いておりましたので,この1行の意味がよく分かりません。 ある参考書には,"#!はその行に書いたコマンドに,ファイルの残りの部分を渡して実行すると言う性質を持っている"と有りました。だから,試しにfile1.plとfile2.txtを準備し, file1.plの中身  #! (perlの存在するフォルダのパス)\perl.exe  while(<STDIN>){   print;  } file2.txtの中身  hello world として,コマンドプロンプトで file1.pl < file2.txt としたのですが正しく動作しませんでした.(perl file1.pl < file2.txt と入力した場合は正しく"hello world"となりました)

    • ベストアンサー
    • Perl
  • Win7 プログラム選択とアイコン

    こんにちは、Win7を初めて使います。 拡張子とアイコンについて、質問があります。 「ファイルを開くプログラムの選択」で~.exeを指定しますと、 確かにそのexeで開くようにはなるのですが、 アイコンがそのexeファイルと同じものにはなりません。 代わりに、横線の入った紙のアイコンになります。 具体的には、ActivePerlへ.plファイルを関連付けようとしています。 Perl.exeを選択し、ちゃんとPerlファイルとしては開けるようです。 .plファイルのプロパティを見ますと、一番左上のアイコンは紙マークですが、プログラム: の次には青い目的のアイコンが小さく表示されています。 デスクトップやフォルダ内で見たときのアイコンもそのアイコンで表示させる為にはどうすれば宜しいでしょうか? わかる方、よろしくお願いいたします。 (Win7 拡張子 アイコン 等で検索し、アイコン変更ソフト(FileDefaultIconChanger)を試したりしましたが、ダメでした。よろしくお願いします。)

  • VBAでperlのプログラムを使う

    EXCELのVBAでマクロをくみ、perlのプログラムを起動することは可能でしょうか? またperlのプログラム内容が起動パスのところにあるファイル名を取得するプログラムなのですが、 これでEXCELのマクロを実行したパスにあるファイル名を取得することはできるのでしょうか?

    • ベストアンサー
    • Perl
  • ShellExecuteを用いてプログラムを走らせる

    ボタンを押すと,ShellExecuteで外部プログラム は起動できる状態なのですが,perlのインタプリタが 走りません. openとしているだけなので,(.pl)の 拡張子ファイルを開いているだけかも しれませんが.一応デフォルトで(.pl)ファイル をダブルクリックするとPerl Command Line Interpreterが起動するようになっています. 外部プログラムの実行でプログラムを走らせる ことは可能なのでしょうか.そしてその手段は どのようなものがあるのでしょうか.よろしく お願いいたします.

  • perlプログラム内で中間ファイルを利用するには

    perlプログラムについて 処理1 の アウトプットデータを用いて、処理2を行うというのを1つのperlのプログラム内で実装したいと考えています。 処理1のアウトプットファイルの書き出しに時間がかかり 処理2が先に動き、ファイル読み込みできずに終わってしまいます。 処理1のアウトプットファイル書き出しが終了を待ってから、処理2を実施したいのですが、 どのように記載すればよいのでしょうか? 例) perl program.pl AAA > BBB program.pl 内 open(OUT1,"> program1_work"); open(ARG,$ARGV[0]); while(<ARG>){ 処理1 print OUT1 "XXXXXX"; } close(ARG); open(ARG1,OUT1); while(<ARG1>){ 処理2 print "XXXXXX"; } close(ARG1);

  • 「Perl Command Line InterPreter」ってなんですか?

    自分のPC内でPerlファイルを実行する為に、 ActivePerl 5.8.8 Build 819 httpd.exe をインストールしています。 先週くらいまでは特に何ともなかったのですが、今日PC内を開いてみたら、 拡張子.plファイルのアイコンが「Perl Command Line InterPreter」に関連づけされていました。 関連付けはちょっとしたことでかわってしまうようなので、何かのキッカケでかわってしまったのかな、と思っておりますが。(自分では直接指定していません。) また上記のアプリケーションはPerlを書く為のテキストエディタと認識しましたが、あっていますか?(普段はメモ帳で開いて編集しております。) これは「ActivePerl」をインストールすると、一緒に入るものですか? ([スタート]-[プログラム]の中のActivePerlの中をみると、「Perl Package Manager」という名前の同じアイコンのものが存在しているようです。) もともと.plファイルのアイコンは黄色い●だったと記憶していますが、これは何が関連付けされてこのアイコンになっていたのでしょうか? 最初はアイコンが変わっていたのに驚き、ウイルスか!?とびっくりしてしまいました。 これはそういう心配はないものでしょうか?

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

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

    • ベストアンサー
    • Perl
  • .forwardから呼び出すperlプログラムに引数を付ける事は可能ですか?

    はじめまして。Perlの初心者ものです。 よろしくお願い致します。 .forwardから呼び出すperlプログラムに引数をつけて プログラム内で引数とメール内容を処理に使用したいので すが、出来るのでしょうか? 例えば.forwardの中身を |/XXX/test.pl p1 と、記入して、 test1.pl内で引数によって、メールの内容を違ったファイルに保存したいです。 よろしくお願い致します。

  • VC++でperlプログラムを動かすには

    VC++でOpenGLを動かしているんですが, その途中でperlのプログラムを動かしたい場合,どうしたらよいのでしょうか? 詳しい動きとしては, 1.perlのプログラムを動かして,txtデータを出力する 2. その出力したtxtをOpenGLの中で読み込んで,描画を表示 3.再びperlのプログラムを動かして,新しいtxtデータを出力する 4. その出力したtxtをOpenGLの中で読み込んで,描画を表示 この繰り返しです. この一連の動作をVC++でいっぺんに行いたいのですが, 可能でしょうか? 何かもっと詳細が知りたい場合は,なんでも聞いてください! よろしくお願いします.

  • 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に記述されています(;も入っています)。 何がいけないのでしょうか?

専門家に質問してみよう