ベストアンサー Perlで作成したプログラムをWindowsサービスに 2004/12/29 08:16 Perlで作成したプログラムをWindowsサービスとしてバックグラウンドで動作させるためにはどうすればよいのでしょうか? みんなの回答 (1) 専門家の回答 質問者が選んだベストアンサー ベストアンサー moon_piyo ベストアンサー率60% (88/146) 2004/12/31 08:57 回答No.1 このあたりをごらんになられてみてはどうでしょう http://www.att.or.jp/perl/faq/perlwin32faq/perlwin32faq4j.html#How_do_I_run_a_Perl_script_as http://www.vector.co.jp/soft/winnt/util/se227419.html 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発Perl 関連するQ&A perlプログラムが動かない パールのプログラムを作成して拡張子「.pl」で保存するとアイコンがパールのマークになりますよね。 プログラムファイルにデータファイルをドラッグすると、プログラムファイル(拡張子.pl)のアイコンが白黒反転して、目的の加工データをファイルとして出力するプログラムがるのですが、プログラムを作成したパソコンともう一台しか動作しません。他のパソコンでは、プログラムファイルにデータファイルをドラッグしても、プログラムファイル(拡張子.pl)のアイコンが白黒反転せず、パールプログラムが動作しません。 どこの設定をどのように変更すればいいのでしょうか。(プログラムファイルのアイコンを白黒反転させるにはどうしたらいいのでしょうか。) コマンドプロンプトでパスが通っているか確認をしたのですが、どのパソコンもパスは通っています。 プログラムの動作するパソコンの「システム環境変数のpathとPATHEXT」をプログラムの動作しないパソコンにコピーペーストしてもNGでした。 ※perl.exeが入っているディレクトリは同じにしています。プログラムファイとデータファイルをperlフォルダに入れても駄目でした。 OSは、Windows XPです。 perlでプログラムを作成したいんですが Windows上でperlを起動させるためにActive perl 5.10をmsi形式でダウンロードした後に特に手を加えることなくインストールし、コマンドプロンプトで、perl -vでバージョン情報などの確認もすることができたんですが、プログラムを作成するに当り、次の作業として何をしたらいいのかがわかりません。 教えてください。 宜しくお願いします。 サービスプログラムの作成方法 VC++2008にてプログラムを作成しています。 現在、ダイアログベースで作成していたプログラムを、 サービスプログラムへ変更しようとしているのですが、 サービスプログラム自体を作成したことがなく、 いろいろネットで読んでみたのですが、 分からないところがありすぎて困っています。 ちなみに、現在のダイアログベースのプログラムは、 CAsyncSocketとマルチスレッドを使用して クライアントPCと相互通信をするものです。 PostgreSQLアクセス用のODBCプログラムもあります。 (ですので、当然ながらダイアログは必要ありません) まず、VisualStudioにて新規プロジェクト→ Windowsサービスを選択し、プロジェクトを作りました。 元のプログラムから、cpp/hファイルを移行し、 CString等の変数をしようしているため、 stdafx.hに、 #define _AFXDLL #include <afxwin.h> 上記を追記し、ビルドしました。 Setupプロジェクトも追加し、 カスタム動作のインストール、アンインストールに、 プライマリ出力を追加し、引数をそれぞれ、 /Service、/UnregServerにし、インストールしてみましたが、 管理ツールのサービスには登録されませんでした。 Serviceプログラムがいけないのかと思い、 単純に新規プロジェクトを作成し、 Setupプロジェクトを追加して、設定したあと、 インストールしてみましたが、これでも登録されていませんでした。 なにか、他に設定等が必要なものがありますでしょうか? Windowsサービスでの作成については、 ネットに載っているのを見つけられなかったのですが、 ATLでのサービスにも挑戦してみました。 しかし、<afxsock.h>をインクルードする手段が みつからず、断念しました。 どちらかの手段で、サービスプログラムを 作成したいのですが、上記問題について、 アドバイスでもよろしいので、よろしくお願いします。 perlでフォルダ作成 こんにちは。 毎日、その日の日付のフォルダ名を作成して作業をしているのですが、 毎回、その作業に手間がかかるので、Perlを用いてフォルダを作成したいと思っています。 普段、Perlを用いて処理をすることが多いので、 今回もPerlでプログラムを作りたいと思っているのですが、 Windows環境(windows7)でPerlを用いてフォルダを作成することは出来るのでしょうか。 やりたいことは、プログラムを実行するだけで、その日の日付をフォルダ名とするフォルダの作成です。 例えば、2011年09月23日ならば、 フォルダ名が、『20110923』となるようなプログラムを書きたいと思っております。 出来るかどうかをご存じの方は、ヒントもしくはサンプルプログラムをご教授ください>< よろしくお願いします・・! Windowsのプログラムを作成するのに始め易い言語 私は今までにWindowsのプログラムを作ったことがなく、 Windowsのプログラムを作成してみようと思うのですが、 どの言語のプログラムが覚えやすい/使いやすいでしょうか? 一応Windows以外の言語では以下の言語を扱えます ※独学なので、完全には覚え切れていません HTML / CSS / Javascript / perl5 / php4 / php5 / XHTML / Ajax? 身近にアセンブリ?アセンブラ?どっちかわかりませんが、 そういう言葉を耳にするのですが、どういう事なのでしょうか? 断片的なことしか聞いてないし検索してみても、明白な説明?の あるサイトも見つからないので、もし知っている方がいらっしゃれば そちらの方も聞いてみたいです perlで置換をするプログラムを作成したい perlで置換をするプログラムを作成したい ウエブの更新プログラムをperlで作成しています。 以下の条件式でうまく置換できないときがあります。 (ここから) $oldcont ="書き換え前のコメント"; $newcont ="書き換え後のコメント"; $get_csv = get("http://hoge.foo/index.html"); if($get_csv =~ /$oldcont/i) { $get_csv =~ s/$oldcont/$newcont/g; open(DB3,">./index.html") || &error("Can't write ./index.html"); flock(DB3, 2); print DB3 "$get_csv"; close(DB3); } 以下略 (ここまで) 通常の文字は置換できたのですが、以下のようなリンクを変えようとすると結果が変わりませんでした。 oldcont <a href="http:/hoge.foo/one.html"> newcont <a href="http://hoge.foo/two.html"> プログラムを確認してみたところ if($get_csv =~ /$oldcont/i) で条件式にうまくヒット出来ていない感じです。 タグ禁止処理が悪さしているのがわかり、タグ禁止処理は解除いたしました。 それでもなお動作しませんでした。 何か不足しているものがありましたらご指摘ください。 お手数かけます。ご指導をよろしくお願いいたします。 perlによる外部プログラムの実行 perlにてCGIを作成しています。 ブラウザでCGIにアクセスしたとき、gpgというコマンドプロンプトの プログラムを実行したいと考えており以下のようなプログラムを作成しました。 test.batを単体で実行したときにはうまく動作するのですが、CGIを介して 実行するとうまくいきません。 CGIのプログラム (WriteCmd.cgi) ********************************** #!c:/Perl/bin/perl print "Content-type: text/html\n\n"; print "test.batの実行\n<br>"; system("test.bat"); exit; ********************************** test.bat ********************************** gpg --batch --gen-key sample.txt ********************************** またtest.batの内容を ********************************** mkdir test ********************************** としてみるとディレクトリがちゃんと作成できるので WebサーバやPerlのパスの問題ではないと考えております。 よい解決方法がありましたら教えていただけると助かります。 よろしくお願いします。 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にアップした際、 不具合なく動作するかどうかが心配なのです。 以上、ご教授よろしくお願いします。 VC++でperlプログラムを動かすには VC++でOpenGLを動かしているんですが, その途中でperlのプログラムを動かしたい場合,どうしたらよいのでしょうか? 詳しい動きとしては, 1.perlのプログラムを動かして,txtデータを出力する 2. その出力したtxtをOpenGLの中で読み込んで,描画を表示 3.再びperlのプログラムを動かして,新しいtxtデータを出力する 4. その出力したtxtをOpenGLの中で読み込んで,描画を表示 この繰り返しです. この一連の動作をVC++でいっぺんに行いたいのですが, 可能でしょうか? 何かもっと詳細が知りたい場合は,なんでも聞いてください! よろしくお願いします. windowsでperl perlに関する知識に乏しい者ですが質問です。 windowsserver2008にactiveperl5.8.9をインストールしました。 とあるperlプログラムをcgiで動かそうと、apacheもインストールしました。 ですが、サーバーにアクセスするとそのperlプログラム中のgetpwnamという 関数?が実装されていないとエラーがはかれていました。 getpwnamをググってみたのですが、 この関数はwindowsでは実装されてないようです。 なんとかgetpwnamのエラーを解決できないでしょうか? PPMで、必要なモジュールをインストールすれば解決できるレベルであれば、 どれをインストールすればよいのか教えていただけると幸いです。 サービスプログラムの作り方 お世話になっております。 Win2000pro+VB6で、サービスプログラムを作りたいと思っています。 その為の必要条件(必要なソフトや環境)を教えてください。 MSComm等Form上で動作するプログラムは、サービスとして登録できるのでしょうか。 perlで外部プログラムを連続して呼び出すには? Windows環境でperlを使って外部プログラムを実行する時、連続で動作させたい場合どうすればよいでしょうか? 例えば、 for(1..5){ `notepad.exe`; sleep 1; } を実行しても、開いたメモ帳を閉じない限り、次のメモ帳が立ち上がりません。 どの様にすれば1秒毎に連続して立ち上がりますでしょうか? ご存知の方教えていただけないでしょうか? 宜しくお願い致します。 perlのローカルプログラムでディレクトリのアクセス権を取得したい お世話になっています。 Linux上で動作するperlのプログラムを作成しています。(ローカルプログラムでCGIではありません。) このperlプログラムであるバイナリファイルを分割して別のディレクトリにコピーさせようとしているのですが、コピー先のディレクトリにプログラム実行ユーザーの書き込み権限があるかを調べたいと思っています。 ネットで調べたのですがこのような処理が出来るのかどうかも不明です。 もし、ご存知の方がおられましたらディレクトリの書き込み権限を調べる方法を教えていただけないでしょうか? ヒントでもけっこうですのでよろしくお願いいたします。 Perl/CGIプログラムとPHPプログラムはどちらがメジャー? 2000年くらいから自分のWEBページを作成して、Perlで書かれたCGIプログラムを設置していました。 また、2005年くらいからはnucleusなどのPHPで書かれたBlogを運営したりして、現在に至ります。 現在、WEBページ制作代行の仕事をしていますが、Perl/CGIプログラムとPHPプログラムでは、今はどちらがメジャーというか、旬なのでしょうか? プログラムの内容によって使い分けるのが良いのかとも思いますが、現在はどちらの言語がメジャーであって、使い勝手などが良いのか、教えてください。 単語の用法など間違いがありましたらご了承下さい。 尚、Perl、PHP共に、一からプログラムを作成することはできませんが、作られたプログラムを改造する程度ならできるレベルです。 よろしくお願いいたします。 PerlプログラムをHPに組み込んでいるのですが・・・ 始めまして HPを作成していて、Perlプログラムを組み込んでいるのですが HTMLタグをそのまま持ってきているのに、プログラムの方だけ 画像が少しズレてしまいます。 いろいろな方法を試してみたのですが、ぴったり合ってくれません。 説明が下手なんですが・・・ こんな感じです。。 HTML→画像 プログラム→画像 画像 画像 改行が入っている訳でもありません。 2つの画像は行で分かれています。 なぜでしょうか? よろしくお願いします。 ウインドウにデータを入力するプログラム言語 ウインドウにデータを入力するプログラムは不可能なのでしょうか? 私は今までコマンドラインから使う市販の科学系ソフトに大量のケースのパラメータを入力するため、 Perlで一度に入力し、結果もまとめて一つのファイルにするプログラムを作成して使っていました。 しかし、この度、ソフトがWindows用にバージョンアップしたため入力もウインドウに書き込み、 結果も一つずつ新しいウインドウに出力されます。 このようなソフトの場合は以前のようなプログラムは作成できないのでしょうか? Perlでは難しいと思いますのでどなたか可能な言語を知っておられたら回答お願いします。 Windows2003 IIS設定 Perl 認証 Windows2003にActivePerlをインストールして、動作するところまでは確認できたのですが、 そのPerlプログラムを実行すると、ユーザ認証ウィンドが表示されます。 認証なしにするには、IISのどの部分を設定すればよろしいでしょうか? よろしくお願いいたします。 perl初心者ですが、プログラム作成で行き詰ってしまいました。 perl初心者ですが、プログラム作成で行き詰ってしまいました。 参考書を読みあさり、色々とググってみたのですが、どうしても組み立てられません。知識のある方ご回答よろしくお願いします。 一つ目は: 英語の文章を記憶したファイルを指定し,その内容を読み込み,文章内に含まれる単語を出現頻度の降順で表示させるプログラムを作成すること 「1位:・・・(・・回)」 「2位:・・・(・・回)」 ... なお,一つの単語が二行にまたがることはないものとする。 二つ目は: テストの成績データを記憶したCSV ファイルを指定し,その内容を読み込み,各学生の総合点と順位,各科目の最高点,最低点,平均点を記憶したCSVファイルを書き出すプログラムを作成せよ。 なお,入力用のファイルと出力用のファイルはキーボード入力で指定するものとする。 また,異なる学生数および科目数のCSV ファイルを読み込んでも正しく動作するようにすること。 卒業のかかったレポートで、この二つを完成させないと先に進めないのです。 本当に図々しい質問で大変申し訳ありません。知識のある方どうかご教授ねがいます。 *ひとつめに関しては: open (FILE, 'perl.txt') or die "$!"; while (my @array = <FILE>){ foreach (@array) { $count{ $_ }++ ; } @rank = sort { $count{ $b } <=> $count{ $a } } keys %count ; foreach (0..$#rank) { $kagi = $rank[ $_ ]; $kaisu = $count{ $kagi } ; print $_+1, "位:$kagi($kaisu 回)\n" ; } } のように書いたところで行き詰ってしまいました。 二つ目は: open (FILE, 'data.txt') chomp(@data = <FILE>) ; $i= 1 ; # 行番号を記憶する変数 for (@data) { # 各行に対して以下を繰り返す. # 各行の数値を配列の要素として記憶する. @list = split(/,/, $_) ; # サブルーチンを呼び出して,結果を表示 print "$i行目:" ; print "数値:",&cardinality(@list),"個," ; print "最大値:",&maximum(@list),"," ; print "最少値:",&minimum(@list),"," ; print "合計:",&summation(@list),"," ; print "平均:",&average(@list),"\n" ; # 行番号の更新 $i++ ; } とまで書き、もう何が何だか訳わからなくなってしまいました。 LInuxとWindowsでのPerlの動作の違い LinuxでCGI(Perl)プログラムを作っています。 いつも動きの確認は自分のPC(Linux)と友人のPC(LInux)で行なっていました。 そして、昨夜別の友人のPC(Windows XP)を使う機会があってついでにそのPC上でプログラムを動かしてみたら一部が正確に動作してくれませんでした。でも、その後自分のPCで実行すると正確に動作してました。 WindowsとLinuxで動作に差がでるものなのでしょうか? C#でのPerlプログラムの実行 C#初心者です。環境はVisualC#を使っています。 C#でGUIを作成中なのですが、GUIのあるボタンを押すと、 Perlのプログラムが実行されて、動くようにしたいのです。 どのようにすればよいでしょうか? 注目のQ&A 「前置詞」が入った曲といえば? 緊急性のない救急車の利用は罪になるの? 助手席で寝ると怒る運転手 世界がEV車に全部切り替えてしまうなら ハズキルーペのCMって…。 全て黒の5色ペンが、欲しいです 長距離だったりしても 老人ホームが自分の住所になるのか? 彼氏と付き合って2日目で別れを告げられショックです 店長のチクチク言葉の対処法 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど