- ベストアンサー
Perlによる、アプリの開発って、どうやるのですか?
Perlは、HP専用言語と、書いた所、つっこまれまして。^^; そのとおり、間違っていません。 ベイズ理論で有名になった、POPFileはPerlで、HP専用ではない。 (たしか、サーバか、サービスを起動させないとダメだったんで、セキュリティ的に不安になって、導入をやめたんだっけ。 うろ覚え、根拠なんとなく、なので信用しないでね。) 他にもPerlのソフト?アプリ?ってありますか? Perlの基礎知識はあるんですが、どうやってこのようなソフトを作るのでしょうか? 一応、ローカルでアプリっぽく使っていても、ブラウザ(それに準ずる物)で表示させて使うもの、以外ということで。 Perlのアプリが起動する原理って、どういうものなんでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
答えになっているかどうかわかりませんが、CGI 以外の用途として linux などでは様々な用途に 使われています。 Windows 用のアプリケーションであれば以下のツールとの組み合わせで Perl のインストールなしで Perl から変換された実行ファイルが動きます。 (これについて述べさせて頂きます) 有償なのですが PERL2EXE や Perl Dev Kit というものをご存じでしょうか? Perl2Exe Home Page http://www.indigostar.com/perl2exe.htm Perl Dev Kit http://www.activestate.com/Products/perl_dev_kit/index.mhtml Perl Dev Kit で生成された GUI アプリケーションをフリーで配布されている方もおられるようです。 以前にどこかのサイトでダウンロードして使ってみたのですが テキストから HTML を生成するもので たしか outliner というような名称だったと記憶しております。 これらの変換ツールはアイコンなども指定することが可能で、改めて言われなければ気づかないほどです。 他にも PAR というモジュールがあります。 http://search.cpan.org/dist/PAR/lib/PAR.pm TK との組み合わせで GUI アプリケーションも作れます。 まだ他にもあると思われますが。 > Perlのアプリが起動する原理 中間コードと言ってよいかはわかりませんが、変換されたコードがメモリ上に展開され実行されるものや テンポラリディレクトリにそのままの Perl のソースが展開(PAR などはそうであったと記憶しています) されて実行されるものもあります。 これらを実行する為に Perl インタプリタの実行ファイルが組み込み或は別の単体として入っていた と思います。(勘違いでしたら申し訳ありません)
その他の回答 (1)
- ralf124c
- ベストアンサー率52% (232/446)
Perlで多用されているアプリとしては仕事柄サーバアプリと狭い世界が主になりご参考になるかどうかわかりませんが ・POP before SMTP -> サーバアプリです。メール送信者が所定時間内にPOPを利用したかどうかをチェックするアプリです。 ・SnortSnarf -> TCP/IPの監視ソフトSnortのはき出すログをホームページに変換して視覚化してくれるツール CGI以外で今のお仕事で実稼動させているのはざっと思いつくだけで ・アップされたCSVファイルを定期的に加工処理してDBに入れる ・入力文字列からQRコード画像をはき出す ・サーバ内にアップされたたくさんの未処理画像ファイルから定期的に縦横をそろえたりサムネイルを作ったりする ・DBデータの修復と定期バックアップ ・Webのはき出すログから集計に必要なログのみ抽出して定期的に保存 などなどです やってみると案外何でもできるものです。歴史が古いので悪く言えば「枯れた技術」です。 ぽっと出の開発言語(「出版社名」「宝石名」「コーヒー産地の島名」)なんかで顧客を人柱にした挙句、次の仕事に追われてアフターケアもろくにできないものを売りつけるよりは、もみにもまれた技術で安全確実に運用できるもの(←作る人しだいかな)を売るほうがよっぽど誠実かと思うのですが。 まあ、目先の新しいものにとびつく顧客も自業自得なので、そういう人にはそれなりのもので作ってあげるんですが・・・サポートがもうたいへんです。 余談: HP専用言語というのはCGIのことを指して言われていると思いますが、ご存知と思いますがCGIは別にどのような言語でも「標準入出力(STDIOってご存知ですよね)」さえ備わっていれば何でもOKなのです。 ですので、CでもPascalでもDelphi(OOP-Pascal)でもModula-2でもCGI用のアプリは出力時にHTTPヘッダを出力するだけで組めてしまうのです(実行にはWebサーバが処理できるよう設定する必要がありますが)。 実際、Delphiで作るCGIなんていう本も出版されています。(わたくしも二十ン年前TurboPascal3からのユーザでDelphiはまっ先に買いに走った口で触る機会は減りましたがDelphiファンです) Perlの強力な正規表現(呪文?)さえ駆使できるようになれば、開発効率が大変に良い言語なのです。 なんか回答するつもりがヒートアップして爺の愚痴みたいになっちゃいました。すいません。
お礼
ははは、仰るとおりです。 とはいえ、 >入力文字列からQRコード画像をはき出す この辺は、私の中では”ツール”です。^^; まぁ、何がアプリ、ソフト、ツールかは、それぞれの認識なので。 昔、「Perl/CGI職人気質」という本を買いまして、色んな使い方があるのだなー、とは知っていたのですが。 PHPの画像処理は、(サーバ?PHP?)のヴァージョンで、微妙に仕様が違いますよね。 サーバによって、書き方を工夫した事を思い出しました。 昔からあるPerlなら、そう言った事は起こらなかったかも、しれません。 C言語でCGIは、知っていましたが、Delphiでは考えたこともありませんでした。w 原理的には出来るか、と予想はついても、その発想自体がありませんでした。 やはり、経験が長い方のコメントは、重みが違うと思いました。 ありがとうございます。
お礼
やはり、根強い人気があるPerlは、いろいろな活用法があるんですね。 コンパイラ(でいいのでかな)があるとは。 Perlは、掲示板くらいは気軽に作れるレベルですが、全く知りませんでした。^^; 新しい知識でした。 私は、「初心者が掲示板とか作りたいと」、質問してきたら、PHPで問題なし!!、Perlに利点は”少ない”(さすがにないではない。HTMLに埋め込みとかも出来るしね)と書いてきたのですが、ちょっと書き方をどうしようかと、迷っています。 Delphiも使えるので、アプリは別の言語の方が、早く確実と思ってはいるんですが・・・。 ありがとうございます。 大変参考になりました。^^;