トップページ⇒php
990コメント339KB

Perlモジュールについて

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2001/08/15(水) 07:47ID:???
モジュールについて話し合うスレッドです。

モジュールの使い方とかリンクは>>2-10さんが出してくれるかも?!
0337nobodyさん04/04/19 12:32ID:???
てす
0338nobodyさん04/04/19 13:41ID:???
マニュアルどうこうより問題箇所の切り分けをできるようにならんと・・・
0339nobodyさん04/04/23 14:56ID:???
誘導されてきますた。
すみませんがWindowsでのミリ秒の取得方法をご教授下さいOTL
Jperl 5.005_03 です。

標準入力に何秒かかったというコーディングって
むずかしいですかね?(´・ω・)
0340nobodyさん04/04/23 17:14ID:???
>>339
Bechmarkモジュールを使ってみました。

use Benchmark qw(:hireswallclock) ;
$t0 = new Benchmark;
print "何か入力して:";
$str = <STDIN>;
chomp $str;
$t1 = new Benchmark;
$td = timediff($t1, $t0);
print "たかが$strを入力するくらいで", (split(/\s/, timestr($td)))[0], "秒もかかるの?(プッ\n";


ところで、特にJperlを使わなければいけない理由が無いなら、Encodeモジュールの
perldoc読んで、そろそろactiveperl 5.8.2に移行したほうがいいと思いますよ。
0341nobodyさん04/04/23 20:20ID:???
5.8.3 ぢゃないのか
0342nobodyさん04/04/23 20:39ID:???
Win32::GetTickCount()
0343nobodyさん04/04/24 01:12ID:???
>341
5.8.4だろ?
0344nobodyさん04/04/24 11:16ID:???
>>343
Activeperlは5.8.3build809が最新。
0345nobodyさん04/04/26 10:16ID:???
>>340
どうもありがとうです。
やってみたけどおいらの知識では(´・ω・)でした。素直に諦めます。
モジュールってどっかから落としてこないと駄目なんですよね?
Jperlにした意味は特にないです。たまたま見つけたので今まで使ってました。
近いうちにactiveperl入れてみたいとおもいます。

初心者丸出しすみません・・・OTL
034634504/04/26 11:39ID:???
早速activperlいれますた。
うまくいきました! ありがとうございました(`・ω・´)

0347nobodyさん04/05/08 13:31ID:???
Benchmark(timethese)の結果の読み方がドキュメントを読んでも良くわかりません。

a: 2 wallclock secs ( 2.02 usr + -0.01 sys = 2.01 CPU) @ 496770.99/s (n=1000000)
b: 3 wallclock secs ( 1.88 usr + 0.02 sys = 1.90 CPU) @ 525486.07/s (n=1000000)

wallclock secs が掛かった秒数で、
/s の値が一秒に何度実行したかの数だと思っていたのですが、
それだと時間がかかったほうの /s の値が大きいのは何故だろうと……。

あと usr と sys の意味もいまいち。
0348nobodyさん04/05/08 14:45ID:???
>>347
探してやったぞ。感謝しろ。
http://chaichan.hp.infoseek.co.jp/qa4000/qa4379.htm
0349nobodyさん04/05/09 17:52ID:???
大体解りました。
感謝します。
#そのページの回答者にも
0350ヽ(´ー`)ノ ◆.ogCuANUcE 04/05/11 14:03ID:???
CPAN に IOC::Lite をハケーン。(・∀・)イイッ!

0351nobodyさん04/05/21 20:32ID:2dDSzz6y
初心者スレから誘導されてきました。
バーコードイメージ(PNG)をベクターデータに変換して
PDFに貼り付けたいのですが、
そんな処理はperlで可能でしょうか?
ちなみに環境は、Linux + perl5 です。
0352nobodyさん04/05/23 02:46ID:???
>>351
また難しい注文だな。

Perl のモジュールでそれができるものは見当たらないが、
Linux 上で動いて輪郭抽出を行うソフトとして autotrace てのがあって、
一応 PNG を食って (輪郭だけの) PDF を吐き出すことはできるらしい。
http://autotrace.sourceforge.net/
こいつを perl から呼び出せば、できんことは無いと思う。

ただ、すでにある PDF の上に輪郭を貼り付ける、というのは、
さらにもう一段階難しいと思われる。
0353nobodyさん04/05/27 19:38ID:???
フォントファイルと文字とあと必要な属性(サイズとか)を指定して
その文字が表示された場合の横幅(ピクセル数とか)をゲットする
ということをやりたいのですが
そういうモジュールってありませんか?

フォントファイルはTrueType(TTC)ファイルで、
文字はASCIIだったり日本語だったりします。
0354nobodyさん04/05/28 21:06ID:CmH5bJcK
GD
0355nobodyさん04/05/28 21:07ID:CmH5bJcK
GD
0356nobodyさん04/05/30 01:13ID:AsPEp7PV
すみません、ちょっと質問なんですけどperlをコマンドにしている
perl=/usr/local/perl…
のように定義されているファイルを教えて下さい。
旧バージョンの方が記述されてしまっているようで困っております。
0357nobodyさん04/05/30 01:44ID:???
( ゚д゚)ハァ?
0358nobodyさん04/05/30 02:22ID:njFgOC0Y
HTML::Templateのライセンスについて聞きたいんですけど。
HTML::Templateって、GPLですよね?
ってことは、GPLの
  プログラムの全部あるいは一部を用いて作られたソフトウェアは
  GPLに従って頒布されること
ってことで、HTML::Templateを利用した「ウェブアプリ自体」も、GPLに従い、
 ・必ずソースプログラムとともに頒布、複製される。もしソース
  プログラムを付けずに配布する場合は、ソースプログラムを確
  実に入手できる手段を提供することが義務付けられる
 ・ソフトウェアを使用、複製、変更、頒布したり、新しいフリー
  ソフトウェアの一部として利用できることを認める
 ・GPLに従って頒布しなければならない
ってことになるんですかね?
0359nobodyさん04/05/30 02:48ID:???
>>358
Artistic License も選べるけどな。

http://search.cpan.org/src/SAMTREGAR/HTML-Template-2.6/README
http://opensource.jp/licenses/
http://home.catv.ne.jp/pp/ginoue/memo/gpl.html
036035804/05/30 03:48ID:???
>>359
 リンクありがとです。
 Artistic License は仰る通りHTML::Templateのドキュメントにも
書いてあったのですが、よく分からないんですよね。この辺のライセン
ス関係の解釈って難しいので(単に私が馬鹿ばだけかもしれませんが)
リンク見てもググっても、結局得たい答えが見つかりませんでした。
 早い話、HTML::Templateを一切改変せずそのまま「標準版」として
自作ウェブアプリの1ライブラリとして利用し、商用目的で配付する場
合、Artistic Licenseではどの様に扱われるかということなんです。
 そもそもそういった商用目的での配付は無理なんですかね?可能でも
自作ウェブアプリのソースも公開し、配付と改変を認めないといけない
のですか?
 それとも、ソースクローズドな形で配付できる方法もあるのでしょう
か?
0361nobodyさん04/05/30 12:17ID:???
|ttp://search.cpan.org/src/SAMTREGAR/HTML-Template-2.6/ARTISTIC
|
| 8. Aggregation of this Package with a commercial distribution is always
| permitted provided that the use of this Package is embedded; that is,
| when no overt attempt is made to make this Package's interfaces visible
| to the end user of the commercial distribution. Such use shall not be
| construed as a distribution of this Package.

| ttp://opensource.jp/artistic/ja/Artistic-ja.html
| 8. このパッケージを商用配布と組みあわせるのは つねに許されています、
| もしこの 「パッケージ」の利用方法が埋めこみであれば、 すなわち、この「パッケージ」の
| インターフェイスが その商用配布のエンドユーザーに見えるように しようとするのでなければ。
| このような 利用方法はこのパッケージの配布と 解釈されません。
036235804/05/30 17:34ID:???
>>361
 単純明快なお答えに感謝です。まさに求めていた回答でした。
 ただ、
   ttp://opensource.jp/artistic/ja/Artistic-ja.html
は、359で張っていただいたリンクからたどれるものであり、自分も見ていたのです。なのに(今思えば睡魔が襲っていた
のでしょう)最初の段階で頭が混乱し、8.を見落としていました。全く情けない限りです。自分の怠慢であるにもかかわら
ずご丁寧に回答して下さったことに感謝です。

 とても冗長な書き込みで申し訳ないのですが(書き込みを二回に分けます)、お付き合い下されば光栄です。

 さて、このThe Artistic Licenseを自分なりに以下のように解釈しました。

1.実行環境の鯖にThe Artistic Licenseに基づくパッケージがインスコされていない場合、当該パッケージを自作アプリと一
緒に同梱して(圧縮とか)配布できる。その場合のパッケージは、「標準版」であればテキストファイルベースのPure Perl
で書かれたものであろうとその他の実行形式であっても構わない。その際、自作アプリのマニュアルに当該パッケージの
著作権表示・免責規定を記載する。
↑The Artistic Licenseの1.より

2.但し、著作権所有者の記載を、自作アプリの宣伝や推奨に用いてはならない。
↑The Artistic Licenseの9.より

 さて、問題の商用配布ですが、

3.商用配布は常に許される。その利用方法が埋め込み、つまりパッケージのインターフェイスが商用配布のエンドユーザー
に見えるように意図しないことが条件。この場合はパッケージの配布とは解釈されない。

ってことですよね?
036335804/05/30 17:36ID:???
 そこで質問なのですが、ここでいう「インターフェイス」ってのは、普通の解釈どおり、パッケージまたはモジュー
ルのサブルーチンまたはメソッド(およびそれによって実現される仕様:例えばHTML::Templateなら、TMPL_VARタグ
など)と考えて良いのでしょうか?
 もしこの解釈が間違っていなければ、尚且つ「エンドユーザー」がそのアプリを購入して実際にアプリとして稼動さ
せた場合の利用者であるならば、購入者に、「プログラマの方へ:paramメソッドのxxxx引数に掲示板の記事を入れて
下さい、デザイナの方へ:<TMPL_VAR NAME="xxxx">の部分に掲示板の記事が表示されますので適宜HTMLなどで装飾し
て下さい」などとインターフェイスをマニュアル上に書き込んでも、購入者はエンドユーザーでなく、これらのマニュ
アルを見て実際にアプリをチューニングして稼動させる側であり、その稼動したアプリを実際に利用する「エンドユー
ザー」ではないのでこのように購入者側にマニュアルとしてインターフェイスを公開してもThe Artistic Licenseの
8.には違反しないと解釈して宜しいですか?
 また、それが正しいのであればパッケージの配布とは解釈されないので、「マニュアルに規定したチューニングなど
による改変以外、無断複製、無断改変を禁止します」と制限をかけることが出来ますか?そして配布と解釈されないの
で自作アプリの著作権表示を(当該パッケージの著作権表示とともに)記載しても構いませんか?
0364nobodyさん04/05/30 18:56ID:???
著作権やライセンスに関する不明瞭な部分は、第三者に聞いても解決はしない。
0365nobodyさん04/05/30 19:09ID:???
>>362-363
「インターフェイス」や「派生物」という言葉が何を指すかを
厳密に定義できるのは裁判官だけだ。国内では Artistic License
も GPL も判例が出ていないから、正しい答は誰にも出せんよ。

解釈に不安があるのなら、やるべきは実例を沢山漁って線の引き
処を掴むなり、ライセンス条文を書いた所へ直接尋ねる事だろうし、
相談相手にするべきは 2ch の名無しではなく君の会社の法務部
だろうな。

あと、完全にスレ違いの話題なので、続けたいなら余所へ
行ってくれんか。
http://pc5.2ch.net/test/read.cgi/tech/1045006087/
036635804/05/30 22:26ID:???
>>364
>>365
 ご回答ありがとです。仰る通り、これは第三者に聞いても解決しないかもしれ
ませんね。
 法務部に回さなかったのは、結局のところ回したところで法解釈に留まり、そ
の解釈に何ら法的効力が担保されないと思ったからです。事実、仰る通りこれは
裁判官の判断しか法的効力を持たず、かといって国内では判例もないどころか通
説も見当たらないので「正しい答え」を知る為に、実務で私と同じような状況に
あって実際にこのライセンスを私と同じ状況下で、商用目的で利用されていらっ
しゃる方がいないかと思い、2chで聞かせて頂いたのです。

 もう少しMLなどで聞いてみてそれでも駄目なら、直接、Sam Tregar氏に聞い
てみようと思います。

 モジュールの話が、ライセンスの話になってしまい、ご指摘通り、スレ違いと
なりました。申し訳ないです。このスレでのこの話題についてはこれで終わりに
します。有難うございました。
036735804/05/30 22:29ID:???
>>364
>>365
 ご回答ありがとです。仰る通り、これは第三者に聞いても解決しないかもしれ
ませんね。
 法務部に回さなかったのは、結局のところ回したところで法解釈に留まり、そ
の解釈に何ら法的効力が担保されないと思ったからです。事実、仰る通りこれは
裁判官の判断しか法的効力を持たず、かといって国内では判例もないどころか通
説も見当たらないので「正しい答え」を知る為に、実務で私と同じような状況に
あって実際にこのライセンスを私と同じ状況下で、商用目的で利用されていらっ
しゃる方がいないかと思い、2chで聞かせて頂いたのです。

 もう少しMLなどで聞いてみてそれでも駄目なら、直接、Sam Tregar氏に聞い
てみようと思います。

 モジュールの話が、ライセンスの話になってしまい、ご指摘通り、スレ違いと
なりました。申し訳ないです。このスレでのこの話題についてはこれで終わりに
します。有難うございました。
036835804/05/30 22:31ID:???
500 エラーが出たのでリロードして確認したら更新されてなかったので
もう一度書きこんだら二重書き込みになってしまいました。すみません
です。
0369nobodyさん04/05/31 00:35ID:???
>365
誘導入れようかどうしようかと思ったんだけどね。

あ、やっぱそこライセンススレだったのか。
一応 UNIX 板にもライセンススレがあるけど質問には向かないかもなー。
ライセンスあれこれ
http://pc5.2ch.net/test/read.cgi/unix/1032702590/
037035804/05/31 09:30ID:???
>>369
 ご紹介有難うです。
 ご紹介いただいたスレを見ましたが、
>>365
 と同じく、質問には向かない気がしました。

 法務部に問い合わせを代行させてもよいのですが、私と法務部の間で
伝えたいことのニュアンスの違いがあるかもしれないので直接調べるな
り直接Sam Tregar氏に聞いてみようと思います。

 色々お騒がせしてすみません&感謝です。
0371nobodyさん04/06/07 00:10ID:KicuegCZ
Windows2000SP4 + ActivePerl5.6.1(Build638)でグラフを描きたいと思っています。
GD::Graphはインストールしたのですが、
>Can't locate GD/Text/Align.pm
と出てしまいます。

GD::Textを入れようとしたのですが、Windows用は入っていないようです。
// http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDTextUtil.zip

諦めるしか無いのでしょうか(´・ω・`)
何かいい手をご存知の方がいらっしゃいましたら、ご教授のほどお願いしますm(_ _)m
0372nobodyさん04/06/07 00:29ID:???
>>371
ZIP Archiveを探す前にステータス見ればわかるだろ。
http://ppm.activestate.com/BuildStatus/5.6-G.html

CPANから入れる手もあるけど動く保証はないよ。
http://search.cpan.org/search?m=module&q=GD&s=11
0373nobodyさん04/06/07 00:38ID:KicuegCZ
>>372
レスありがとうございました。
ステータスを見落としてたとは・・・。
FAQでしたね、失礼しました。
0374なぜか解決(?)04/06/07 00:44ID:KicuegCZ
ダメ元でlinux用の.pmファイルを突っ込んでみたら誤魔化せてしまったようです。
棒グラフと折れ線グラフの出力に成功しました。
解決といえるかどうかわかりませんが、報告まで。
0375nobodyさん04/06/07 01:24ID:???
>>374
http://aspn.activestate.com/ASPN/docs/ActivePerl/faq/ActivePerl-faq2.html#repositories
http://theoryx5.uwinnipeg.ca/ppmpackages/
0376nobodyさん04/06/15 17:39ID:???
初心者スレでこちらの存在を教えていただきました。
質問なのですが、WWW::Mechanizeを使おうとすると
Can't locate object method "requests_redirectable" via package "WWW::Mechanize"
(perhaps you forgot to load "WWW::Mechanize"?) at C:/Perl/site/lib/WWW/Mechanize
.pm line 156.
というエラーが出されるのですが、ソースでは
use WWW::Mechanize;
と宣言しています。原因はなんでしょうか?
0377nobodyさん04/06/15 18:01ID:???
WWW::Mechanize は LWP::UserAgent を継承していて
requests_redirectable も LWP::UserAgent のメソッドなので
LWPの方が怪しそうな気が。
WWW::Mechanize と LWP のバージョンはそれぞれいくつじゃい。
037837604/06/16 11:25ID:???
>>377

ありがとうございます。バージョンの問題のようでした。
libwww-perl: 5.51 → 5.75
WWW::Mechanize: 0.48 → 0.72
にアップグレードして動作しました。
0379nobodyさん04/06/22 20:34ID:0XcCSiRM
Net::SMTPとMimi::Entityを使って画像ファイルを複数添付したメールを送信しようとしていたのですが
添付ファイルの総容量がある一定を超えると全ての添付ファイルが送信されなくなってしまいます。
データの処理サイズを指定してその最大値を超えないようにファイルを処理していけば良いのかなと思い
サンプルを探してみたりCAPNでモジュールのマニュアルやソース読んだりしてみたのですが
何をどうやれば良いのかさっぱり分かりません。
どなたかお知恵をお貸し下さい。
038037904/06/22 20:39ID:0XcCSiRM
こんなソースです。
use strict;
use Jcode;
use Net::SMTP;
use MIME::Entity;
use constant SMTPsvr => 'mail.hoge.co.jp';


##元になるHTMLを読み込む
my $htmlData="";
my $line="";
open(FilePt,"testhtml.html");
while($line = <FilePt>){
$htmlData.=$line;
}
close(FilePt);


##メール内容を作成する
my $oMime = MIME::Entity->build(
Type => 'multipart/related',
To => jcode('シロヤギさんさん')->mime_encode(). '<[email protected]>',
From => jcode('クロヤギさん')->mime_encode() . '<[email protected]>',
Subject => 'HTML' . jcode('無題')->mime_encode(),
);
038137904/06/22 20:40ID:0XcCSiRM
$oMime->attach(
Type => 'text/html;charset="iso-2022-jp"',
Data => jcode($htmlData)->jis,
Encoding => '7bit'
);


$oMime->attach(
Path => 'testimg01.jpg',
Type => 'application/octet-stream',
Encoding => 'Base64',
'Content-ID'=> 'testimg01.jpg',
);

$oMime->attach(
Path => 'testimg02.jpg',
Type => 'application/octet-stream',
Encoding => 'Base64',
'Content-ID'=> 'testimg02.jpg',
);


##メール送信
my $oSmtp = Net::SMTP->new(SMTPsvr);
$oSmtp->mail('[email protected]');
$oSmtp->to('[email protected]');
$oSmtp->data();
$oSmtp->datasend($oMime->stringify);
$oSmtp->dataend();
$oSmtp->quit;

情けない質問で申し訳ありませんが、宜しくお願いします。
0382nobodyさん04/06/22 21:58ID:???
このソースを自宅鯖の環境で20Mぐらいのファイルを添付する設定で実行してみたら
postfix が「メールでかすぎ」と言って受信拒否してくれた。
ということは少なくとも postfix まではちゃんと流れて行ったと想定される。

mail.hoge.co.jp の設定を確認してみては?
038337904/06/23 13:09ID:NP7S6l9r
>>382
レスありがとうございます。
一応自己解決(かな?)しました。

昨日の時点では一つのメールソフト(Netscape)だけで確認していたので
今日Outlookやフリーのソフトを複数使って受信確認してみた所
添付ファイル自体はきちんと添付されているらしい事がわかりました。
(HTML形式のメールなのでOutlookでは画像が想定どおり表示され、フリーの
メーラーでは添付処理したファイルがすべて確認できました)

そこでNetscapeの設定等に問題があったのかと思い、色々弄ってみた結果
どうやらHTML形式のメールで使用する画像を添付ファイルとして送信した場合
その総容量がある一定を超えると(どうやら15K以上)、そのメールを最初に表示した場合には
そこで使われている画像を読み込まずにテキストだけを表示しているらしい事が分かりました。
(だから表示文字コード設定を変えたりして再度読み込むと、その時はきちんと画像が表示されました)
どうやらNetscapeのメールソフトのみで起こる問題のようです。

メール内で使ってる画像をWeb上からリンクさせるのは嫌だなぁと思ったので画像を添付しようと思っていたのですが
もしNetScapeのメールソフトで起きている問題を解消できたとしても、画像の添付された重いメールを送信出来るようになるだけで
最終的にはメリットが少ないと思い、ファイルを添付した状態でメールを送る事自体を断念しました。

ご迷惑をお掛けして申し訳ありませんでした。

でも何でネスケでだけ変な動きしたんだろう…添付のさせ方間違ってたのかなぁ?
0384nobodyさん04/06/30 04:37ID:???
テキストファイルや標準入力に対してベイジアンフィルタで分類するモジュールないですか?
10以上のカテゴリに分類できるものを探しています。
0385nobodyさん04/06/30 06:04ID:???
>>384
この辺を調べ尽くし済なら知らないなぁ。
http://search.cpan.org/search?query=Bayes&mode=all
http://www.google.co.jp/search?num=100&q=Bayesian+Perl
0386nobodyさん04/06/30 11:52ID:???
>>385
サンクスコ
とりあえず、
http://search.cpan.org/~kwilliams/AI-Categorizer-0.07/
を呼んで見ることにしたよ。
0387nobodyさん04/08/08 11:17ID:Ejd6WZ6r
MIME::Explodeと同じ様な感じで、
ファイルではなくメモリ上に展開してくれるモジュール無いですか?
0388nobodyさん04/08/08 14:32ID:???
MIME::Parser
0389nobodyさん04/08/08 17:57ID:???
perlでmysqlを操作するために必要なモジュールってなんでしたっけ?
DBIと他に二つくらいあった気がするんですが忘れてしまいました。

一応今はwinxpにactiveperl5.6.1.638が入ってるのでPPMを使ってやろうと思いますが一応順番も関係あった気がするので
知ってる方おながいします。
039038904/08/08 18:11ID:???
Data-Dumper
DBI
Msql-Mysql-modules

の3つを上の順番でインスコでした;失礼しました。
039138904/08/08 18:23ID:???
すみません;何故かppmでエラーが出ます。

perl.exeはc:\usr\binにあるのでwinxpのコマンドプロンプト開いて
cd \usr\binとして
c:\usr\bin>ppm install Data-Dumper
をやると以下のエラーがでました。
Failed to load PPM_DAT file
Can't use an undefined value as a SCALAR reference at C:/usr/site/lib/PPM.pm lin
e 1678, <DATA> line 40.

翻訳
PPM_DATファイルをロードしませんでした。
C:/usr/サイト/lib/PPM.pm lin e 1678、<DATA>40行でSCALAR参照として
不確定の値を使用することができません。

以前のパソコンはwin98だったのですが、同じactiveperlのバージョンで問題なくインストールできました。
エロイ人おながします。
0392nobodyさん04/08/08 19:28ID:???
>>391
PPM のバグのせいで ppm.xml が壊れてしまったんじゃないかと思う。
直し方は知らないのだが、5.8.4 に移行すればたぶん問題なくなる。
039338904/08/08 23:15ID:???
>>392
ありがとうです。
今度使うサーバがactiveperl5.6.1.638を使ってるので、一応同じもので動作確認をしたくってこれを使ってます。
perlの再インストールとか試してみます。
039438904/08/09 06:56ID:???
perlの再インストールをしたらData-Dumper、DBIの二つは無事ppmでインストールできました。
でもMsql-Mysql-modulesで下のようなエラーがでました。
C:\usr\bin>ppm install Msql-Mysql-modules
Installing package 'Msql-Mysql-modules'...
Error installing package 'Msql-Mysql-modules': Read a PPD for 'Msql-Mysql-module
s', but it is not intended for this build of Perl (MSWin32-x86-multi-thread)

翻訳
パッケージ「Msql-Mysqlモジュール」のインストールパッケージ「Msql-Mysqlモジュール」
をインストールするエラー:「Msql-Mysqlモジュールs」のためにPPDを読む
、しかし、それはPerl(MSWin32-x86マルチスレッド)のこの構造のために意図されません。

activeperlを入れてるディレクトリが悪いのでしょうか?それともmysqlの場所が悪いのでしょうか?
mysqlはc:\mysqlディレクトリにあります。再インストールは何度かしてみましたが変わらずです。
mysql4.0.18を使っています。


0395nobodyさん04/08/09 08:56ID:CVqqb4Xe
HTML::Templateが全く動かないんですが、
どこがおかしいのでしょうか?
ある程度複雑なコード書いて全く何も出力されなかったので、
簡単なコード書き直して試してみたのですが、やはりなにも出力されません。

a.pl

#!/usr/bin/perl
use strict;
use HTML::Template;

my $html = HTML::Template->new(filename => 'a.tmpl');
print "Content-Type: text/html\n\n";
$html->output;


a.tmpl

<html>
<head><title>Test Template</title>
<body>
</body>
</html>

0396nobodyさん04/08/09 08:58ID:???
何も出力されないというのは
0397nobodyさん04/08/09 08:58ID:CVqqb4Xe
途中で送信してしまいました。
何も出力されないと書きましたが
Content-Type: text/html

だけは出力されます。
HTML::Templateが何も出力してくれないという事です。
0398nobodyさん04/08/09 09:49ID:???
>>397
HTML::Templateが壊れてるんじゃないの?
0399nobodyさん04/08/09 10:01ID:???
CPAN使って
install HTML::Templateで入れただけなのですが…
0400nobodyさん04/08/09 10:02ID:???
$html->output; は返すだけだったと思う
print $html->output; にしないと
0401nobodyさん04/08/09 10:05ID:???
print $html->output;
0402nobodyさん04/08/09 10:07ID:???
動きました。ありがとうございました。
getResultみたいなメソッド名にしてくれれば、
こんな事で悩まないのに…
040338904/08/09 10:23ID:???
Msql-Mysql-modulesの代わりにDBD-mysqlをインストールして解決いたしました。失礼します。
0404nobodyさん04/08/09 12:22ID:???
>>402
$html->output(\*STDOUT)でもいけたはず。
メソッド名が紛らわしいのは同感だが、ドキュメントのSYNOPSISくらい読もうな。
0405nobodyさん04/08/28 17:28ID:XMnxFKiq
CGI::Sessionってセッション管理にCookieを使う事が必須なのですか?
POSTやGetでセッションIDを渡していく方法はできないのでしょうか?
0406nobodyさん04/08/28 17:41ID:???
>>405
http://perldoc.jp/docs/modules/CGI-Session-3.11/Tutorial.pod
0407nobodyさん04/08/30 17:28ID:???
>>405
CGI::Session のマニュアルも見ねぇのかよ。氏ね。
0408nobodyさん04/10/11 17:29:51ID://6u00DL
CGI::SessionはPHPのセッションと同等のことができるんですね。
素晴らしい。
0409nobodyさん04/10/11 18:43:46ID:???
DBIとかも保持できるの?
コネクション切れちゃわない?
0410nobodyさん04/10/11 20:45:35ID:???
DBコネクションを保持するのはセッションとは全然別の話だから
Apache::DBI で対応する
0411nobodyさん04/10/11 23:48:16ID:???
Class::DBIつかったら、Apache::DBI使わなくても
かってに保持される?
0412nobodyさん04/10/12 00:14:09ID:???
Class::DBI が使っているのは Ima::DBI
これはコネクションを保持するんじゃなくてクエリ結果をキャッシュしておくやつ
041341104/10/12 01:33:21ID:???
>>412
へぇー。知らなかった。
メモリ食いそうだな。。
0414nobodyさん04/10/12 04:52:53ID:???
Apache::DBIはmod_perlが必要なのかOTL
0415nobodyさん04/10/12 10:37:05ID:???
まあ普通に考えてプロセスが終了すればコネクションも切れる。
CGIはリクエスト毎にプロセスが終了するので、誰かが生き続けないといけない。
PHPの場合は mod_php が apache 内部で生き続ける。
同じことを perl でやろうとするなら、当然 mod_perl という話になる。
0416nobodyさん04/10/12 12:13:31ID:???
>>415
FastCGIとかでもいいんでない?
0417nobodyさん04/10/14 10:22:20ID:???
>>412
Ima::DBI - Database connection caching and organization
同一プロセスで、
dbhと、prepareされたSQLステートメントをOO的に使いまわす仕組み。
クエリのキャッシュじゃない。
0418nobodyさん04/10/17 13:11:00ID:cj8+Zu2z
PHPのSQLiteみたいにテキストファイルに対してSQLで
データのやりとりをするモジュールってできないかな。
速度的にも十分実用的なやつ。
DBD::CSVなどはちょっと実用的じゃないですしね。
0419nobodyさん04/10/17 13:37:58ID:???
PerlでSQLiteを使えば?
それとも、PHPのSQLiteって別物?
0420nobodyさん04/10/17 14:28:43ID:???
>>419
全く同じでつ
0421nobodyさん04/10/17 16:05:10ID:???
>>418
使ったこと無いんだけどDBD::CSVとかDBD::Spriteって実用的じゃないの?
速度はそりゃ劣るだろうがそこそこいけるみたいだったが
DBD::SQLite入れるのが一番はやいと思うけどね
0422nobodyさん04/10/18 21:21:06ID:???
DBD::SQLiteっつーのがあるんだ?
知らなかったよ。
0423nobodyさん04/10/19 00:14:31ID:???
cpanで検索くらいしろよ
0424nobodyさん04/10/19 01:34:32ID:???
cpanってなんて読むの?
くぱん?しーぱん?しーぴーあん?こぱん?
0425nobodyさん04/10/19 03:57:01ID:???
>>424
きーぱんないとれい
0426nobodyさん04/10/19 10:49:16ID:sbgcDJ+7
1.http://aaa.a.a/a.cgi

2.http://bbb.b.b/b/cgi

1のプログラム上から引数を渡して2のプログラムを動作させて
結果を1のプログラムに返すようなことって可能でしょうか?

2のサーバーのローカルにあるデータベースからデータを取得して
1のサーバーのローカルにあるデータベースにデータを保存したいと
おもっております。 言語はperl使用です。

まったくモジュールのことがわからないのですが
LWPモジュールとHTTP::Request::Commonモジュールの
組み合わせで作成可能でしょうか?
0427nobodyさん04/10/19 11:45:46ID:???
まあそういうことだ。

やりたいことにもよるが、
たぶん君の場合は、LWPの中に入っている LWP::Simple で用が足りると思う。
0428nobodyさん04/10/19 19:36:06ID:???
つーか、玄人ならNet::HTTPを使うね。
0429nobodyさん04/10/20 10:07:09ID:???
POEでもいいぞ
0430nobodyさん04/10/20 17:20:13ID:Z3mYsmEN
>>426

LWPを使用してデータを取得できるようにはなりました。
ただ、呼び出しもとのCGIからPOSTを使用して
データを送りLWP::UserAgentをつかってるので
CGIから呼び出したCGIの実行結果に
HTTP/1.1 200 OK Connection: close Date:・・・
と引っ付いてきます。
CGIから出力したデータのみを受け取る方法は
ないでしょうか?
送信結果に必ず専用の文字列を付けてsplitで
分割してやればとれるのですが・・・。
0431nobodyさん04/10/20 20:24:28ID:???
HTTP::Response (HTTP::Message) の content メソッドを使え
0432nobodyさん04/10/20 22:56:16ID:???
PerlerならNetモジュールシリーズということで
Net::HTTPを使おう!
0433nobodyさん04/10/22 20:38:20ID:W90PZT9w
LWP::Parallel::UserAgentの使いかたの日本語サイトってありますか?
LWP::UserAgentから移行したいのですが使いかたがわかりません。
WEBからHTMLを引っこ抜くだけでいいので、教えて下さい。。。
0434nobodyさん04/10/23 23:04:20ID:???
ヘッダは一番初めの\r\n\r\nまでだからそこまで
スキップするなり削るなりすればよろし。
HTTP/1.\dを送らない場合もヘッダ送ってこないね。
0435nobodyさん04/10/23 23:31:37ID:???
むしろLWP::Simple使えば楽そうだけど
0436nobodyさん04/10/23 23:51:23ID:???
>>433
君もよくこんなあやしいモジュールを見つけてきたな。
man を読んでも使い方がわからん(笑)。
まあ冗談抜きで作者に直接聞くのが良さそうに思える。

>>435
GET でなく POST が必須のケースだと LWP::Simple では厄介なのかもしれん。
■ このスレッドは過去ログ倉庫に格納されています