モジュールについて話し合うスレッドです。
モジュールの使い方とかリンクは
>>2-10さんが出してくれるかも?!
search.cpan.orgを闊歩してるとたまに変なモジュールを見つけることがある。
例えばこれ
http://search.cpan.org/search?dist=List-Member このモジュールに定義されている唯一の関数
sub member {
my $target = shift or croak "No target in member/2 ";
for (0..$#_){
return $_ if $_[$_] eq $target;
}
return $NEG;
}
こんな単純なモノでも良いんだなぁ、と思う一方、
ネタなんじゃないかという思いが捨てきれない(w
# ってこんな話題でいいんでせうか。
はは、何だこれ w
別スレで話題のKENT.pmも 有りうるかもねー
6 :
名無しさん@お腹いっぱい。:2001/08/16(木) 23:07 ID:Ar7JEA0M
すいません。あるマシンのperlに関して、どのモジュールが
使えるかをスクリプトで調べるような方法あるのでしょうか?
ついでに、どのdbmが使えるかを調べる方法も教えてください。
>>6 1.
% perldoc -l ModuleName
2.
#!/usr/bin/perl
@dbms = qw(AnyDBM_File ODBM_File SDBM_File DB_File GDBM_File);
foreach my $dbm(@dbms){
eval "require $dbm" and print "$dbm OK\n";
}
__END__
@INCに入ってるディレクトリの中を見た方が早いと思うがね。
というかスレ違いだからな。
質問は専用スレでやれ。
8 :
名無しさん@お腹いっぱい。:01/10/28 13:41 ID:Le8aRGGQ
Cpan2.orgは何処へいったんだ。
9 :
名無しさん@お腹いっぱい。:02/02/23 07:27 ID:JlmTzXqB
Perlモジュールの日本語訳サイトでフレーム使ってたところ覚えてる方
いらっしゃいますか?
11 :
名無しさん@お腹いっぱい。:02/02/23 07:46 ID:JlmTzXqB
うわっこれです
助かりました
12 :
nobodyさん:02/03/20 00:33 ID:Mq6aLS7f
みんなで2ch.pmを作ろうYO!
パッケージって頭数字使えないべ?
直接は使えないが、実はけっこうどうにでもなる。
${'2ch::foo'} = 'fuga!';
print ${'2ch::foo'};
packege BBS2ch;
=head1 NAME
BBS2ch - Multi Post Tool for 2ch.net
=cut
17 :
nobodyさん:02/03/20 04:53 ID:TSftstwY
マイヒットなpmは Spreadsheet-WriteExcel
これで毎週作ってる面倒なEXCEL資料作りを全自動化する計画。
グラフをどうするかがが課題。
Devel::DProfやBenchmarkにはいつもお世話になっていますね。
効率化するというより、それほど悪くないと納得するためだったりする。
19 :
nobodyさん:02/03/20 19:47 ID:wpDr7CAx
やっぱ、Inline.pmでしょ。
HTML::Templateがもう少し軽ければな…
packege DBD::BBS2ch;
=head1 NAME
DBD::BBS2ch - DBI driver for BBS2ch
=cut
22 :
1234:02/03/22 01:38 ID:PNDxe/pL
GDとは別にPERLモジュールでJPEGのリサイズとかできるモジュールはありませんか?
>>22 Imagerモジュールなどいかがですか?
$image->scale(xpixel => ?, ypixel => ?)を呼ぶだけなので。
他にも、Image::Magick,Image::Imlib2, Image::GD::Thumbnail,
Gtk-Perlに付属するGtk::Gdk::Pixbuf(旧GdkImlib)辺りでも
画像のscalingは簡単に行うことができますよ。
24 :
1234:02/03/22 09:05 ID:PNDxe/pL
>>23 ありがとうございます。
これはレンタル鯖でもつかえるんでしょうか?
こちらがいろいろいじれる鯖だとGDをつかえるんですが
借り物鯖だとインストールとかできそうになくてそういった意味でさがしています
画像を扱うモジュールが内部でどういう動作をしてるかを考えれば
レンタル鯖とやらで使えるかどうかくらい判りそうなもんだろう。
26 :
nobodyさん:02/03/22 22:19 ID:xPJilkwN
OIOI、2ch.pmの話はどうなったんだ?
モアステキモジュール紹介してほしいage
use Win32;
Win32::MsgBox('ageます。', 4 | MB_ICONQUESTION, 'Perlモジュールについて');
30 :
nobodyさん:02/04/10 20:43 ID:VIfIuJ6u
HTMLの中の上からn番目のAタグを抽出すると言うようなモジュールって
ありますか?
更にその中身をオプション名とその内容、タグに挟まれたテキスト
などに分解して返してくれるようなら最高なんですけど。
HTML::LinkExtor
32 :
nobodyさん:02/04/10 23:06 ID:I4lhe9xZ
↑それって名前からして多分Aタグだけを取り出すものだと思うけど
すべてのタグを対象にしたものはないのかね?
>HTML::LinkExtor はHTML::Parserのサブクラスで・・・(コピー)
HTML::Parserの方使えばなんでも採れるYO
35 :
nobodyさん:02/04/12 19:15 ID:tlsM5l1O
できました。ありがちょ。
@link=();
#パーサー・オブジェクトの作成
$p=HTML::Parser->new(
api_version => 3,
start_h => [\&start,"tagname,attr"],
marked_sections => 1,
);
$p->parse($html);
$p->eof;
sub start
{
my($tagname,$attr)=@_;
if($tagname eq 'a'){push(@link,$attr->{href});}
}
36 :
nobodyさん:02/04/30 09:00 ID:PpiN0rQr
37 :
nobodyさん:02/05/02 17:02 ID:E3wstOhZ
Socket使えなかったら意味ないだろ。
↑それって問題外なんじゃないの?
Socketが使える状況が前提でしょうが。
>>37 いらない。IO::Socket::INETがあるから。
↑車輪の再開発おめ。
>>42 人の作った車輪の上でお山の大将気取ってるもどうかと。
44 :
nobodyさん:02/05/06 18:30 ID:dZFQgqwT
↑人の作ったモジュール紹介した=お山の大将気取る
になるお前の思考ルーチンもどうかと?
あぼーん
46 :
nobodyさん:02/06/10 10:23 ID:LHA1Stqn
誰か自作のモジュール自慢すれ。
どんなのがいい?
48 :
nobodyさん:02/06/22 13:25 ID:PfrrYGvI
XSを利用したモジュール作成の解説をしたサイトってありませんかね?
もしくはここでperlの魔術師がHelloworld.cでもいいので
サンプル書いてみてください。
よろしくです期待age。
50 :
nobodyさん:02/07/03 22:52 ID:kRj5caac
Win32::MsgBoxで、ダイアログがウィンドウの前面にでないことが
あるのですが、どうすればいつも前面に出せますでしょうか?
気合だろ!
52 :
50:02/07/03 23:01 ID:3+KiYR63
2時間ぐらい試していますが、未だに法則がわかりません。
もちろん気合も試しました。分かる方よろしくおねがいします。m(_ _)m
>ダイアログがウィンドウの前面にでない
って、そんなときは、どこに出るんだ?
>>52 この短時間でIDが変わってるぞ。偽者か?
気合でうまくいくはずとマニュアルに書いてあるだろ!
55 :
nobodyさん:02/07/04 00:16 ID:8lTiTdof
>>50 うーん、MB_SYSTEMMODALフラグを付ける手はどうでしょう。。。
use constant MB_SYSTEMMODAL => 0x1000;
Win32::MsgBox("キター!!!", MB_SYSTEMMODAL);
56 :
50=52:02/07/04 00:31 ID:GKK9RANu
>>55 キタ━━━━━(゚∀゚)━━━━━ !!!
原理がサパーリですが、うまくいきました。
どうもありがとうございました。
57 :
nobodyさん:02/07/04 19:20 ID:NAJ0SD7/
58 :
nobodyさん:02/07/04 19:36 ID:NAJ0SD7/
naindenai?
60 :
nobodyさん:02/07/05 20:25 ID:5DbR4nrL
GIFとJpegとPNGを相互変換できて、なおかつ、
画像の編集ができるモジュールはありますか?
GD.pmというのはGIFとJpegを同時に使えないようです。
それらはPerlでやるべきことではない上、GIFは止めろ。
ImageMagic
ローカルで画像いじるならImage::Magickがあると超便利。
落としたエロ画像のサムネイル作ってまふ。
64が要望してるのはエロ画像のほうじゃないのか。
67 :
nobodyさん:02/07/05 23:24 ID:St7kmpIx
68 :
LEON:02/07/07 08:35 ID:2rukKasO
WebARENAでは、サーバにないモジュールでも、
自分のcgi-binディレクトリに使いたいモジュールを置けば
使えるみたいなんだけど、
ImageMagickを使いたければ、PerlMagicを置けば使えるようになるのかな?
それとも、ImageMagickがサーバにインストールされてないとダメなのかな。
>>68 PurePerlなものは、適当なところに置いてきちんと@INCを設定すれば使える。
これはどこでも一緒。
PerlMagickの場合はImageMagickがインストールされていたとしても、
PerlMagick自体コンパイルが必要なのでダメ。
あらかじめサーバ環境用にコンパイルしてサーバに置くか、
もし「許されているなら」サーバでコンパイル、インストールすればよろし。
70 :
LEON:02/07/07 09:33 ID:WMCpg0fx
>>68 68さん、ありがとうございます。
結構、藁にもすがる思いで質問したので返事がいただけてかなり嬉しいです。
まだImageMagickとPerlMagickの関係がわかってなくてすみません。
やはりサーバにImageMagickがインストールされてなければ、
コンパイル済みのPerlMagickモジュールを置いても使えないんですよね。。
サーバでのコンパイル、インストールはできないんです。。
71 :
nobodyさん:02/07/07 17:00 ID:k28wtQVp
ImageMagickって、root権限持ってないと使えるようにできないの?
コンパイル済みのPerlMagickモジュール、置くだけじゃだめ?
>コンパイル済みのPerlMagickモジュール、置くだけじゃだめ?
まったく同じ環境でコンパイルしたものなら大丈夫じゃない?
73 :
nobodyさん:02/07/08 09:36 ID:SZQSam5Y
>まったく同じ環境でコンパイルしたものなら大丈夫じゃない?
ImageMagickは、あらかじめインストールが必要?
74 :
nobodyさん:02/07/08 16:01 ID:SZQSam5Y
Linux用にコンパイル済みのGD.pmってどこにあるか知らない?
76 :
nobodyさん:02/08/01 02:48 ID:YMXoET45
PG.pm+postgresで
アプリケーション開発をしています
あるテーブルの存在を確認してなかったらそのテーブルを作るという
プログラムを書きたいのですが
どのようにするのが一番良いでしょうか?
ちなみにODBC+MSアクセスで書いていたときは
sub tableIsExist{
my $table = shift;
my $ExistSql = "SELECT * FROM $table";
if ($DB->Sql($ExistSql)){
return 0;
}
else {
return 1;
}
}
こんな風にしていました。
SELECT relname FROM pg_class WHERE relkind = 'r' and relname !~ '^pg_' and relname !~ '^xin[vx][0-9]+';
で一覧とったら?
78 :
nobodyさん:02/08/03 00:34 ID:XT+awdOD
>77
できましたぁぁぁぁ!!!サンキューです。
最近、明示的に/暗黙に perl-5.6 が必要なモジュールが
多いね。うちはまだ 5.005_03 が主力だからよくハマるよ...
さっさと 5.8 にしたいなぁ
80 :
nobodyさん:02/08/03 15:38 ID:XT+awdOD
/usr/lib/perl5/site_perl/5.6.0/Net/SMTP.pm
にSMTP.pmがある状態で
81 :
78:02/08/03 15:42 ID:XT+awdOD
すみません↑間違えました
もう一つだけすごく初心者っぽい質問なんですが
/usr/lib/perl5/site_perl/5.6.0/Net/SMTP.pm
があるときに
use NET::SMTP
と記述したスクリプトを実行すると
Can't locate NET/SMTP.pm in @INC (@INC contains: /usr/lib/perl5/5.6.0/i386-
linux /usr/lib/perl5/5.6.0 /usr/lib/perl5/site_perl/5.6.0/i386-linux /usr/l
ib/perl5/site_perl/5.6.0 /usr/lib/perl5/site_perl/5.005/i386-linux /usr/lib
/perl5/site_perl/5.005 /usr/lib/perl5/site_perl .) at test.cgi line 6.
BEGIN failed--compilation aborted at test.cgi line 6.
となってしまうんです。
/usr/lib/perl5/site_perl/5.6.0があるので
ちゃんとパスはとおっているように見えるんですが・・
さらによくわからないままスクリプト内の宣言をuse NET/SMTP
とするとuse strictとぶつかるらしく
変数のパッケージ宣言がおかしいというエラーが大量に出ます。
82 :
チンポ:02/08/03 16:43 ID:bV9lZ19l
>>81 × use NET::SMTP;
○ use Net::SMTP;
では?
83 :
78:02/08/03 18:12 ID:XT+awdOD
>82
(;´Д`)どうもです。
こういうなんでもないところにつまって半日もムだにかかっちゃうから
残業が減らないんだよなあ。
たすかりました
>83
あ...あんたプロなのか。これでプロになれるのか。
漏れも思いきって会社受けてみるか。
85 :
82だけど:02/08/06 13:16 ID:u/vVihtn
うちの会社は受けないでくれ
一緒に仕事したくない会社No.1
>>84 某C○I-MLはいってみ。
こんなんばっかだから・・・・(;´Д`)
88 :
nobodyさん:02/08/12 09:50 ID:lG15UT+D
日本語も使えるイメージ生成モジュールないでしょうか?
GD日本語だめだし
89 :
siba:02/08/12 09:57 ID:7rmR5a/3
JAVAでパスワードの暗号化をしたいのですが、
どなたか教えてください
javax.crypto.* でもみれば。
>>88 GDって日本語使えないんだっけ?
パッチとか当てて出来なかったかな?
93 :
nobodyさん:02/09/16 22:08 ID:pL+0JjZV
サブルーチン→モジュールの流れによって、Perlが使いやすくなったのか
ギモンなのですが…。
オブジェクト指向プログラミングをJAVAとActiveScript(スマン)でしか経験して
ないので大きなことは言えませんが、不完全なオブジェクト指向しかできない
のであれば、今までのplファイルでのサブルーチンで良かったような気がします。
へんなコンパイルとかさせるような仕様にしなくても。
どうも、モジュール化への流れでのメリットというのがわからないのですが…。
こんなイニシエスレをageてしまった…。すまん。
>>93 どうやらチミはオブジェクト指向のなんたるかが
マターク判っていないようだ。
96 :
93:02/09/17 20:13 ID:BPpTHLja
うーん、各オブジェクトがそれぞれ自分でメソッドとプロパティを持っててそれに沿って動作、
あるオブジェクトは他のオブジェクトがどう動作しているのか関知せず、ただ必要になったら
functionで相手に「これやってねぇ〜」って指示してその結果だけもらう(結果を得るまでの
プロセスについては関与せず)、ってくらいに思ってます。
それでFLASHは何とかなるので…。
今回は意図的にage。
>96
それがPerl5ではできないとでも?
そんなの96の書き方次第だろ
<age><sage>してみよう
99 :
:02/09/18 09:26 ID:gjQd9uRC
>>97よ落ち着け。
93は「コンパイルとかさせるような仕様にしなくても」って発言があるので
そんな仕様にしないとオブジェクト指向化できなかったのか?
と言っているんだろ
いやぁ、そもそも「へんなコンパイル」が何を指しているのか謎なのだが。
>>92 画像に表示させる文字列に日本語を使うことならできる
102 :
97:02/09/19 02:16 ID:???
変なコンパイルて濡れもよくわからなかったのですが
メリットはOOでも書けるようになったっていうそのものじゃん。
OOPerlは変なコンパイルだからだめといわれてもできない方がいやだぞ。
cpanマンセー
初心者。
長大なテキストを既定のフォーマットにするために、WinでActivePerlを使ってる。
(エディタのマクロみたいな使い方)
文字列をShiftJIS化するのにjcode.plを使っていたが、最近Unicodeも
扱わないといけなくなったので、対応しているjcodeをコピーしようと思った。
ところが、なんだかJcode.pmにモジュール化されていて、CPANがどうのとか・・・。
一応、解説サイトを巡りながら頑張ったけど思うようにインストールしてくれず。
普通にエディタのマクロ使ったほうがイイ? でもPerlって扱いが楽なのさ。
もう二つ質問させてください。
1・
win_installがないモジュールの場合はどうすればよいのでしょうか。
たとえばLWPとかです。
2・
インストール先のフォルダを指定したい場合はどうすればよいのでしょうか。
Perlのバージョンは5.004です。会社のサーバFreeBSDと少しでも同じ環境にするため
古いVerのままなのです。
107 :
103:02/09/19 14:01 ID:???
ありがとうございました。特に最後のリンク先が大変参考になりました。
今まではnmakeもCコンパイラもインストールせずにCPAN.pm使ってました。
試しにIO::Scalarをインストールしたところ、無事に成功しました。
本当にありがとうございました。
やっぱり英語はできたほうが良いのかな・・・?
>>108 CPAN.pmは内部でmakeやCコンパイラを使うよ。
上手く設定するとCPANでインストールすることも可能。面倒だけどね。
>>109 出来た方がいいよ、絶対。
111 :
nobodyさん:02/09/24 11:44 ID:n1qFoNwr
CPAN.pmでモジュールをインストールしてると、
Perlの最新版をインストールしようとすることってある?
lwpをインストールしてて、英語わかんないから質問はすべてenter入力してたら
なんだかすごい量のファイルをインストールし始めた。
慌てて途中でやめたけど。
サーバのperlは5.0053なのに5.8のライブラリの処理とか始めたりして焦った。
>>111 うちも同様で、jperl5.005_03-990822 と v5.6.0 で perl -MCPAN -e shell
をやったら、perl-5.8.0 のインストールが始まっちゃった。
113 :
nobodyさん:02/09/24 11:59 ID:PkTNvTjp
114 :
111:02/09/24 12:03 ID:???
>>113 うちはどちらも Linux で、それぞれ Slackware と Redhat7.2
でふ。
115 :
nobodyさん:02/09/24 12:08 ID:PkTNvTjp
たぶんCPANの遠隔操作?だろう。
昨日Cygwin/Perl5.8でTkインストールしようとしたら(もち失敗)
LWPとかいろいろチェックし始めたもん
別の話だが昨日からPPMコマンドも機能しないんだよなぁ
perl5.6と5.8はXSの互換がきかんので
再コンパイルの必要があるっていう話があったような。
117 :
111:02/09/24 12:26 ID:n1qFoNwr
うちはfreeBSD。
sakuraのバーチャルドメイン。
ユーザスペースならモジュールのインストールもOKなので挑戦。
>>114さんは=112ですよね?
>>117 まちがえますた。おっしゃる通り 112 です。
119 :
nobodyさん:02/09/30 08:33 ID:56lq+6AY
sakuraにLWPは、あきらめて古いバージョン(plファイル)入れました。
はぁ。
「Perlについての質問箱」がruby基地外によって潰されました。
心ある人は、rubyスレにお礼参りしてください。
Storable-2.05 が出てる。
> Since Storable version 2.05, CODE references may be serialized with
> the help of B::Deparse.
ですと。
>>121 ほう、それはなかなか…ていうかバグフィクスだろうと思ってchanges見もしなかったよ。
さて、CPANでインストールでもするか…と思ったら失敗。Storable.dllが削除できないと…?
…っておいCPAN!お前がStorable使ってるからだろ!
Winはこれだからねぇ…いやはや、何事かと思ったよ。
気を取り直して…実行!
> perl -wl t.pl
B::Deparse version 0.61 required--this is only version 0.6 ...
Bは…アップデート…できないよね。
Perl5.6.1(ActivePerl631)じゃダメでした。( ´・ω・`) ショボーン
jhhhh
124 :
nobodyさん:02/10/11 16:35 ID:BLCX+amr
ImageMagicをperlで使ってます。
二つの画像をレイヤーみたいに重ねて一つの画像として出力するには、
どのMethod使えばいいですかね?
あとImageMagicを日本語で解説してるとこないですかねぇ〜
126 :
nobodyさん:02/11/02 05:03 ID:o+t0cR8M
あげとくか。
127 :
nobodyさん:02/11/05 07:25 ID:CJxmL6tb
ActivePerlで、GD.pmを使ってTrueTypeフォントを印字すると
□□□□□っていう風な文字になるんだけどなぜなんでしょうか?
スクリプトとフォントはGD.pmに付属してる奴で試しました
GD.pmはppmでインストールしたのでバージョンは1.27
ActivePerlは 5.6.1 build 632です
128 :
nobodyさん:02/11/05 08:01 ID:CJxmL6tb
129 :
nobodyさん:02/12/01 21:39 ID:+x4ey74A
perlmagickでJPEG画像のサイズ変更しても
ファイルサイズ落ちないんだけど
誰か原因わかる人おらんかな?
↓こいつが変
$image->Quantize(Colors=>$co,dither=>'True');
しょうがないから 一旦ppm形式で書き出して
cjpegでJPEG作り直してるやけど。
ちょっと質問がマニアックすぎるか??
130 :
nobodyさん:02/12/01 21:48 ID:+x4ey74A
訂正(間違った)
↓こいつが変
$image->Scale("$new_x[0]x$new_y[0]");
でもQuantizeもファイルサイズ落ちない。
結局どっちもサイズ落ちない。どうしてだろ
qualityっていう設定項目あるけど
うちでうまく動かないなぁ
教えておくれ。
WinのPPMじゃqualityうまく動かないYO!
$i->Set(quality => 30);
で圧縮率決められる1-100
デフォルトは75くらいだったかな?
133 :
nobodyさん:02/12/03 16:44 ID:HKnS3bC9
スンマセン さくらの共用サーバでPerlMagickを使いたいんですが
どうやってインストールして
どうやって呼び出すのでしょうか?
インストールされてるのか?
135 :
nobodyさん:02/12/03 17:02 ID:HKnS3bC9
されてないんで
ユーザー権限でコンパイルして使おうと思うんですが・・・
できないのでしょうか?
>>135 さくらに聞け。
自領域にインストールできるなら use lib なりしてパス通せ。
>>136 エラーメッセージは?
>>137 どなたでつか?(;´Д`)
更新してまだ10分立ってないのに転載されてる
140 :
nobodyさん:02/12/06 02:46 ID:eehXM/N6
ttp://sugachan.dip.jp/download/joyful.php コレ使いたいんですが
さくらのサーバでPerlMagickをコンパイルしようと
Magick.xs:81: magick/api.h: No such file or directory
と出てコンパイル出来ません
どうすればコンパイルできるのでしょうか?
それかコンパイル済みのバイナリをダウンロードできるところは
ないでしょうか?
141 :
nobodyさん:02/12/06 02:50 ID:eehXM/N6
ちなみにさくらのサーバは
FreeBSD4.6みたいです。
>>140 うぜ。
>Magick.xs:81: magick/api.h: No such file or directory
読めよ馬鹿。api.hがないって言ってるじゃないか。
必要ならアップしろよ。
アプロダにアップしたりしてな。
>>143を温かく翻訳
モジュールのインストールには、サーバ権限とか知識もそうですが、
なによりも、1,2行の英文くらいは読めるスキルが重要ですよ。
146 :
143:02/12/09 22:31 ID:???
>>145 翻訳ありがとう。
ていうか、学校で何習ってんだ? リアル厨房レベルの英語だろ? 厨房以下かてめー。
>>140
まぁまぁ・・お二人とも落ち着いて。。。
150 :
nobodyさん:02/12/14 17:49 ID:wCLHLBJq
DBIモジュールってピュアPerlですか?
archive::lzhとかないかなー。
zipとかはあるんだよね。
152 :
nobodyさん:02/12/15 13:22 ID:UwocQ4Wo
>>152 続きが気になる……。
続き、あるよな?
>>153 152はCPAN Searchで検索してみたんだけど
多分見つからなかったんだよ。
どなたか Win2kのActivePerl5.8.0で動くGDモジュール(gifでなくpngを描けるもの)の
ありかをご存知ないですか?
ppmで見つかるのは5.6用のものらしくダメっぽいです
あるいはCPANから取ってきてコンパイルするしかないのでしょうか…
どなたか(cygwinで)成功された方いらっしゃいませんか?
156 :
155:03/01/02 02:33 ID:???
結局perlを5.6.1に戻しました…
157 :
nobodyさん:03/01/13 07:35 ID:D+2O0or4
158 :
山崎渉:03/01/15 13:32 ID:???
(^^)
Image-MagickのActivePerl5.8で動くppmってどこにありますか?
155と同じように5.6に戻したほうがいいのかな?
160 :
155:03/01/15 23:58 ID:???
>157
ありがとうございます.見事動きました.
#本当はこんな何もわからずに使っちゃダメなんだろうけど
161 :
157:03/01/18 14:51 ID:???
>159
ftp zoffy.asahi-net.or.jp/pub/graphics/ImageMagick/binaries/
ImageMagick-5.5.3-Q8-win2k.exeに入ってるよ。
インストール後ppm2で入れなきゃならん
*\ImageMagick\PerlMagick\Image-Magick.ppd
windowsディレクトリのzipでもいいかもしれんが試してない
>155
大丈夫、漏れもよく分からん。
激しく禿同
164 :
山崎渉:03/03/13 17:25 ID:???
(^^)
165 :
nobodyさん:03/03/19 12:05 ID:b5iFnjmv
BUGなら諦めるから、誰か教えてくれ!
This is perl, v5.6.1 built for i386-linux
+
Net-Telnet-3.03.tar.gz
で、特定のアカウントだけログインできないのだが、
$port23 ->login("NASDAQ", "S&P500");
の様に、パスワードに「&」が入るとエラーが出る。
うまい回避策は無いだろうか。
>>165 \&でエスケープするとどうなる?
それかだぶるくぉーとをシングル苦ぉーとにするとか
167 :
nobodyさん:03/03/19 12:52 ID:b5iFnjmv
>>166 \& も && も駄目だった。
ダブルクオートもシングルクオートも駄目だった。
他には何か有りますか?
169 :
nobodyさん:03/03/19 16:48 ID:b5iFnjmv
>>167 変更したら怒られる。と言うか騒ぎになる。
別IDでログインしてからsuする方法で模索開始!
駄目なら、プログラムのラッパー作って、Sビット立てたる。
モジュールを解析する気は無いらしい・・・
>>169 モジュール解析の前に。Dump_Log をとってみ。
そのログからとりあえず理由はわかると思われ。
171 :
nobodyさん:03/03/21 17:29 ID:pOguTMzc
PDFを出力できるモジュールってありますか?
173 :
nobodyさん:03/03/21 20:21 ID:pOguTMzc
PDFlibってフリーでつか?
簡単にコーディングできまつか?
174 :
:03/03/22 19:26 ID:2uze5ULU
dmake.plってどこにあるの?
あぼーん
177 :
nobodyさん:03/03/31 23:42 ID:lrdCZ3fP
PerlでCGIを組むときのお勧めモジュールを教えてください。
・セッション管理
・ユーザ認証
・ロジックと表示部の分離
それぞれどんなモジュールがありますか?
179 :
nobodyさん:03/04/01 23:12 ID:y/azGnm1
>>178 ありがとう。
ご紹介のWebフレームワークの出来は実際のところ
どうなのでしょうか?業務Webアプリに使えますか?
使いやすさ、品質、実績、などは?
それからドキュメントは付属のものしかないのですか?
市販本などはないのでしょうか?
perl5.8.0 MSWin32-x86-multi-thread で、
perldoc の改行位置がおかしくなったり
pack_sockaddr_in が使えなく(?)なったりしたのですが、
同様の症状が出た方いませんか?
>>181 perldocはおかしかった。
とりあえず576行目(my ($tmpfd, $tmp) = File::Temp::tempfile(UNLINK => 1);)の後に
binmode($tmpfd, ':crlf');
を追加したら直ると思う。
pack_sockaddr_in()は使おうと思った事がないのでわからないな。
ありがとう。助かります。
pack_sockaddr_inは、私の勘違いでした。
pack_sockaddr_inの引数に、getservbyname, gethostbynameで所得した値を設定していた事が原因でした。
pack_sockaddr_in(80, 'www.example.com')で問題無く動作しました。
単に、使い方を誤っていただけで。お騒がせしてスミマセン。
184 :
nobodyさん:03/04/03 13:34 ID:KIsujz3E
>>183 > pack_sockaddr_in(80, 'www.example.com')で問題無く動作しました。
これで本当にうまくいった???
ゴメン。inet_aton忘れてた
186 :
nobodyさん:03/04/03 20:13 ID:pMBEJ0AD
fieldsとかClass::StructとかClass::Fieldsとか見つけたんだけど、
自分でモジュールを作るとき、どんな風に組み合わせるのがエレガントですか?
Class::* 関連ってモジュール多いよね。
エレガントなクラス設計には、私も興味あります。
一言にエレガントと言っても、状況次第で解決策は変わってくるでしょうから
実際に作成するモジュールの条件を指定しないことには、
抽象化された一般的な回答しか得られないと思います。… 要は、case by caseと。
ところで、Class::Structの例が動かなかったんだけど、
メンバにオブジェクトを持つ時は、明示的にインスタンスを作ってやらないといけないの?
use Class::Struct;
struct( ClassA => { foo => ClassB });
struct( ClassB => { bar => '$' });
my ($obj);
$obj = new ClassA;
$obj->foo = new ClassB; # <-- 必要 ?
$obj->foo->bar(1);
Class::Struct、、ソースがごたごたでよくわからんけど、
requireする処理が入ってないから、見えるところにクラス(パッケージ?)
を置いておけばちゃんと動くかと。実験してないけど。
struct()する前に
Class::Struct::printem(1);
としておくと、evalするコードを出力してくれるよ。
しかしClass::Structってクラス設計というより単なる構造体を作成するユーティリティなんじゃないかと思われるが…。
190 :
nobodyさん:03/04/06 10:59 ID:XHJoDMK3
構造体はハッシュで代用できるので、
強いて利点を挙げるなら、宣言のところでメンバ変数の一覧が確認できるのと、
ハッシュだと、keyのtypoでも警告なしに通ってしまうことがあるのを防げること。
クラスの設計に利用する利点は…何かあるかな?クラス内でのデータ管理?
ところで、Perlでモジュールというと、
Perlには別のアプローチでのカプセル化の手段 tie があるよね
データ構造について抽象化できる場合なんかは、
こっちの方が Perl っぽくて良くないかな?
丁度、それっぽい記事を読んでいたので、
IBM : developerWorks : 洗練されたPerl: タイ変数 (Tied variables)
http://www-6.ibm.com/jp/developerworks/linux/030404/j_l-cptied.html
191 :
nobodyさん:03/04/08 04:08 ID:O1bDvd1L
構造体が、型であるところがいいんだよ。
ハッシュはねぇ…ハッシュはねぇ…。
あぼーん
あぼーん
あぼーん
あぼーん
196 :
山崎渉:03/04/17 12:08 ID:???
(^^)
197 :
nobodyさん:03/04/18 11:29 ID:qP4xwYVk
Sledgeって何なの?
難しい文字の羅列で説明見ても分からんのだけど、
思いっきり車輪の再発明ではないの?
198 :
山崎渉:03/04/20 06:02 ID:???
∧_∧
( ^^ )< ぬるぽ(^^)
>>197 再発明。ただし、再発明=悪とは限らない。
実際の話、自社の開発スタイルに適したフレームワークを確立してるとこは強いよ。
(Sledgeがその器かどうかは知らんが)
200 :
nobodyさん:03/04/30 03:18 ID:DNJ+ul9N
フレームワークって、
自分で再発明を繰り返さないためのものでしょ。
セッションの処理とか、フォームのデータの扱いとか、
いままで毎回毎回似たようなコードを書いていたようなものを、
うまくフレームワークにまとめてくれてるんだから、
ありがたいと思うよ。
201 :
nobodyさん:03/05/08 14:23 ID:J45m1fTB
Apache::Session::Mysqlで、
セッションをロードしたとき、untieなどでロックを解放しなかった場合、
次のセッションでどうしてもApache::Session側が必ず固まってしまうのですが
なにか対処法ないでしょうか・・・
ちなみにLinux/apache 2/mod_perl 1.99.09/Apache::DBI/MySQL 4.0です
202 :
nobodyさん:03/05/08 14:36 ID:J45m1fTB
セッションロードしてすぐに別のハッシュ/変数にコピー。
その後すぐuntieでいける。ここまで2行なのでエラーは起こらないはず
あぼーん
あぼーん
PurePerlのフレームワークってないの?
客指定のサーバに作ること多いんで・・・。
XMLパーサはXML::Perser::LiteってPurePerl?MovableTypeで使ってるみたいだけど。
>>205 Sledge
ちょっと上のログくらい見てけれ。
207 :
nobodyさん:03/05/17 18:09 ID:RhLo9Azb
use Time::Local 'timelocal_nocheck';
print scalar localtime timelocal_nocheck 0,0,4,10,1,1987;
print "\n";
print scalar localtime timelocal_nocheck 0,60,4,10,1,1987;
print "\n";
--
これってTime::Localモジュールのバグですかね?
minuteがhourに繰り上がらない。
timegmを使うとこの現象は起こらないのですが。
あぼーん
・ォ・ュ・ウ、ホ・ニ・ケ・ネ
シウシエシオシカシキ
、オ、ケ、ャ、タ、隍ハイカ、?
自演つーか、強制的にEUCで送出するブラウザのテストなんだが・・・・
> で、
>>209の2行目は何よ?
アイウエオ
>212
>211じゃないが一言言わせてくれ。
こ ん な と こ で そ ん な テ ス ト す ん な !
>>213 す、すまん・・・
沈没スレでやるべきだった。
215 :
山崎渉:03/05/22 02:01 ID:???
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
あぼーん
あぼーん
あぼーん
219 :
nobodyさん:03/07/30 20:21 ID:Z9UJWv+F
あるスクリプトを実行するとInternal Server Errorになり、
Apacheのエラーログには
can't build entity: no body, and not multipart
[Wed Jul 30 19:37:09 2003] [error] [client 192.168.0.5] Premature end of script headers: /home/hoge/public_html/cgi-bin/hoge.cgi
と表示されました。
このエラーの対処方法を教えていただけませんでしょうか・・
環境は
perl5.8.0
関係ありそうなモジュール
MailTools-1.58
MIME-tools-5.411
Email-Valid-0.14
あぼーん
あぼーん
>>219 no body, and not multipart って出てるだろ
モジュールが原因かどうかは自分で何をuseしてるか見ればわかるだろ
あぼーん
化石スレが上がったついでに質問。
Compress::Zlib なんだけど、Compress::Zlib::memGunzip が undef を
返す時ってどんな時?ソース見たんだけど、さっぱりわからなくて…。
ヘッダーが取り除けない時(恐らくgzipでない)
inflateInitに失敗した時(考えにくい)
inflateでZ_STREAM_ENDにならなかった時
(Z_ERRNO Z_STREAM_ERROR Z_DATA_ERROR Z_MEM_ERROR Z_BUF_ERRORのいずれか)
CRCチェック失敗した時(binmodeとかの問題か?)
って感じ?
>>225 おぉ!!サンクス!
レスを読むと、ヘッダーと CRCチェックっぽいナァ…。
227 :
225:03/07/31 20:17 ID:???
>>226 ソースそんなに難しくなかったYo
ちゃんと嫁
228 :
224:03/07/31 22:23 ID:???
>>227 ちゃんと読んでも解らないほどの実力なんだ…<俺
やはり、データがおかしかった事が判明。よって、ロジックも結構修正する羽目になった
229 :
nobodyさん:03/08/17 18:01 ID:36kz8z8A
ほしゅ
231 :
nobodyさん:03/09/16 17:03 ID:5ze52rFS
ppm でモジュールのインストール先を選択することができません。
5.6 系と 5.8 系の ActivePerl を使い分けているのですが、
ppm でモジュールをインストールしようとすると、どのバージョンの
ppm を使ってもすべて 5.8.0 586 の site\lib にインストールされて
しまいます。
ppm プロンプトで
ppm>target
を調べると
* 1. ActivePerl 5.8.0.806
だけしか登録されていません。ppm のマニュアルを読んでみましたが
target の追加方法は書いてないような。。。どうしたら 633 とか 635
の site\lib にインストールできますか????
形態素解析エンジンchasenで付属のPerlインタフェイスChaSen.pmがビルドできません。
Makeは通るのですが,実行時にシェアドライブラリが見つからないとエラーが出てしまいます。
どうやら,chasenが利用するdartsライブラリ関連のリンクに関する問題のようです。
モジュール自体はc++で書かれていて私ではお手上げです。
だれか助けてください。
>>232 環境もエラーメッセージも書かれてないのにどうやって助けてもらうつもりなのかと。
235 :
232:03/11/21 22:20 ID:???
>233
MLの過去ログはChaSenとNamazuなどから検索してみましたが,
見つかりませんでした。
2つのめのURLのライブラリのパスを記述する方法を試しましたが,状況は変わりません。
>234
gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-113)
perl5.6.1
ChaSen version 2.3.3
という環境です。
また見つからないというsoファイルは存在を確認しています。
/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/Text/ChaSen/ChaSen.so
n.so
File::MMagicもインストールしています。
>>232 えーといまいちよくわからんのだが。
「ビルドできません」っていうのは正しくビルドできませんって意味?make は通ってるんだよね?
で、/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/Text/ChaSen/ChaSen.so がないって言われてるの?
それだと「dartsライブラリ」って関係ないような気もする。
perl -e 'print join " ",@INC' ってやったらどうなる?
237 :
232:03/11/22 20:16 ID:???
>>236 @INC:はこのようになっています。
/usr/lib/perl5/5.6.1/i386-linux
/usr/lib/perl5/5.6.1
/usr/lib/perl5/site_perl/5.6.1/i386-linux
/usr/lib/perl5/site_perl/5.6.1
/usr/lib/perl5/site_perl/5.6.0/i386-linux
/usr/lib/perl5/site_perl/5.6.0
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.6.1/i386-linux
/usr/lib/perl5/vendor_perl/5.6.1
/usr/lib/perl5/vendor_perl
すみませんが,ちょっと手元で再現させる環境が無いので,
火曜日までいろいろ報告できません。
238 :
質問:03/11/28 10:08 ID:???
SAX2 相当で PurePerl の XML パーサってありますか?
1年以上経ってるのにコメントして去る、(・∀・)カコイイ!
cpan でインストールに失敗した場合ってどうすればいい?
test 成功率が 90% とか出てるんだけど、force install しちゃっていいのかな。
242 :
nobodyさん:03/12/29 13:40 ID:iExeJWp2
( ゚д゚)ポカーン
244 :
?O?????|?X:03/12/30 16:30 ID:2yZZI8A2
Perlで食用油を作ることはできますか。
246 :
nobodyさん:04/01/01 19:50 ID:KSdPAoW/
image::magick と perlmagick って全く同じ意味?
google で調べてもよく分からないんです
Archive::Zip
十表ソ、等「\」が化ける
何とかならんのか…
SJIS使うな
それは無理
何でといわれても…
解凍後リネームするのが面倒だから
>>251 $str =~ s/\\\\/\\/ig;
無理じゃない!
254 :
251:04/01/09 08:27 ID:???
Zip.pmの$newName =~ s{[\\/]+}{/}g;をコメントアウトしたら何とかなりますた。
もしかして\\が入ってるのはActivePerl Win32版のみかな?
たとえばExampl::Fooっていうモジュールがあるとき,
Example::Hogeっていうのを新しく作りたいんだけど,
h2xsでひな形作るにはどうしたらいいでしょうか?
h2xs -AX -n Example::Hogeってやると
Example/FooがすでにデリレクトリにあるとExample-Hogeってができちゃうの。
(´-`).。o(…Inline::Cしか使ったことがないヘタレな俺…)
257 :
nobodyさん:04/02/18 12:32 ID:w3gtAc2I
リモートでユーザーエリアにモジュールをインストールしています。
MyConfig.pm を設定してCPANを使って問題なくインストールできているのですが、
あるモジュールで Test.pm がないから make test が通らずインストールできない、
といわれたので先に Test.pm をインストールしたのですが、その上で再度行っても
やっぱり @INC にTest.pm がないのでだめだ、とおこられました。
試しに、MyConfig.pm頭に
use lib '/home/user_name/perl-lib';
って足してみたけどだめみたいで、何とかする方法はありませんか?
あと、サーバーにあるCPAN.pm が古いので新しくしたいのですが、
こいつを/home/user_name/perl-lib に入れて新しいの使う、
なんて事はできないんでしょうか?
モジュールの使い方ってよりインストールの仕方、なんですが。
>>255 Example-HogeじゃなくてExample/Hogeってなってほしいのに、という意味かな?
もしかして、そのFooを作ったのはPerl5.8以前にあったh2xsで、HogeはPerl5.8以降のh2xsなんじゃないかな。
そもそもh2xsはモジュールの雛型というよりディストリビューションの雛型の作成だから、
h2xsを実行した時のディレクトリ名なんてあまり関係ないわけで、私は今の動作の方が好ましいが。
どうしても嫌なら後でディレクトリ名を変えるか、古いPerlのh2xsを入れ直すかするしかないと思うよ。
>>257 う〜ん。Test.pmは標準モジュールだし、無いはずないよ。
しかもTest.pmをインストールした、というのなら尚更それは関係ないと思う。
そのモジュールのテストコードに何か問題があるんじゃ…。
その失敗するモジュール以外のモジュールは無事テストできるの?
>>258 perl -e 'use Test;print $Test::VERSION;'
てやってもCan't locate Test.pm in @INCって言われます。
ちなみにインストールしようとしてたのは
HTML::Templateです。
2.2が入ってたのでとりあえずいいか、と。
あとピュアパールなのでftpでとりあえず送っちゃお、と思います。
Test.pmインストールしたのはユーザーエリアにです。
CPANに use lib できればこいつ使ってくれるんでしょうが、
Can't locate Test.pm in @INC にはもちろんユーザエリアはいってないので
CPANに use lib できれば Test.pmないっておこられないのかな、と。
ただサーバのPerlが、
This is perl, version 5.004_04 built for i386-linux
なので、古いのが原因かもしれません。
なので新しいモジュールだとテスト通らないのかもしれませんね。
このバージョンだとTest.pm 入ってないんでしょうか。
あんまり古いのも困ったもんです。
俺んとこの 5.004_04 built for sun4-solaris でも Test.pm は入ってないや
無理すれば HTML::Template も動くとは思うが、でも古過ぎだよなあ
PERL5LIBかPERLLIB環境変数は設定したでござるか?
>>261 > PERL5LIBかPERLLIB環境変数は設定したでござるか?
MyConfig.pmの、
$CPAN::Config{'make_arg'}
$CPAN::Config{'make_install_arg'}
$CPAN::Config{'makepl_arg'}
にはそれぞれ設定してるんですが、
PERL5LIBかPERLLIB環境変数ってどんなエントリー(key)で
設定すればいいんでしょうか。
ユーザーlibパスを設定したらCPAN.pmがそれも含めて
@INC内モジュールを使ってくれる、って事ですよね。
265 :
257:04/02/18 22:54 ID:???
>>263 すいません。お勉強してました。で、
.bash_profile に
PERL5LIBを設定して、
perl -e '(print join("\n",@INC));'
したら、見えました!
setコマンドでも設定されてました!
ありがとうございます。
で、引っかかってたいくつかがインストールできました。
で、確認ですが、
これを設定したからといって
use lib プラグマの記述が必要なくなる、って事ではないんですよね。
試しにuse lib 外したら、必要なモジュールがない、って怒られました。
@INC に入ってるのにuse libしなくちゃならないってのがげせないんですが、
何でですか?
CGIとしてアクセスすると設定が効かないって事ですよね?
ログインファイルはログイン時に参照されるので、
ログインしないと設定されないと思います。
>>265 PERL5LIBにパス入れたらuse libは必要ないよ。
多分、まだ何かおかしい。
268 :
257:04/02/19 01:38 ID:8y6GewN9
>>266 そうです。
そうか、そういうことなんですね。
CGIで設定が効いてないのはbashでログインしてないから。
>>267 つまり、bashから起動するperlスクリプトにはuse libは必要ないはず、と。
なんだかなぞが解けてきました。
明日bashからやってみます。
269 :
nobodyさん:04/03/04 07:39 ID:yHD/tZ44
ちと質問です。
use Image::Magick;
$i = Image::Magick->new;
$i->Set(size=>"200x200");
これだけだと問題なくスクリプトは終了するんですが、
$i->ReadImage("xc:black");
これを付け足すと
perl: constitute.c:2015: ReadImage: Assertion `image_info->signature == 0xabacadab' failed.
apacheのエラーログにこう書き込まれ終了します。
どなたか解決方法わかる方見えましたら、
ご教示願います。
>>269 バージョンが古いんじゃないかい?
5.5.3-2でfixされたようだが・・・
271 :
269:04/03/04 22:27 ID:yHD/tZ44
>270さん
レスありがとうございます。
インストールしたバージョンは5.5.7-10です。
グーグルで探してもうまくヒットせず、どこを参考にしていいか…
やっぱり単純にバージョンを落としたほうがいいのでしょうか?
Assertion failed は普通プログラムのバグだからなぁ…解決法は無いかもよ。
ReadImage()メソッドの引数、呼び出しのタイミングは絶対合ってる?
273 :
nobodyさん:04/03/05 16:05 ID:EtQqgjUI
DBIとDBD-Pgのインストールを行いました。
しかし、perldoc DBIを行うと、 No documentation found for "DBI".
と表示されてしまいます。
DBI.pm、Pg.pmのディレクトリまで移動して、perldoc DBI
を行うと、マニュアルが表示されます。
どうやれば直せるのでしょうか?
なお、インストールの場所は自分で指定する方法で行いました。
274 :
269:04/03/05 19:53 ID:???
>>272さん
#!/usr/local/bin/perl
use Image::Magick;
$i = Image::Magick->new;
$i->Set(size=>"200x200");
$i->ReadImage("xc:black");
print "Content-type: text/html\n\n";
print "<html><head><title>Check</title></ead><body>";
print "<p>Ok</p>";
print "</body></html>";
exit;
今回上記のようにテストしたんですが、同じエラーでます。
もしかして根本的に書き方間違ってるでしょうか…
>>273 man perldoc
>>274 古いバージョンも入ってて、そっちが使われてたりとか。
$Image::Magick::VERSION はチャンと 5.5.7 になってる?
あと、コンソールから convert -size 200x200 xc:black して、
キチンと動くかどうか確認してみれ。
ゴメン(;´Д`)
convert -size 200x200 xc:black test.png だ。
これで、
use Image::Magick;
$i = Image::Magick->new;
$i->Set(size => '200x200');
$i->ReadImage('xc:black');
$i->Write('png:test.png');
と同じ事ができるから、これがキチンと動けば Image::Magick.pm の、
動かなかったら libmagick 自体の問題。
277 :
269:04/03/06 23:13 ID:???
>>275-276 ごめんなさい、勘違いしてました。
インストールしたのはPerlMagick-5.56.tar.gzでした。
$Image::Magick::VERSION の結果は5.56で問題ないと思います。
それで
convert -size 200x200 xc:black test.png
だと問題なくtest.pngが作成されました。
use Image::Magick;
$i = Image::Magick->new;
$i->Set(size => '200x200');
$i->ReadImage('xc:black');
$i->Write('png:test.png');
だとエラー。
ってことはImage::Magick.pmの問題なんですね。
としたら…どうすればいいんだろう…
がんばって調べてみます。
解決方法が見つかればいいんだけど…
279 :
269:04/03/07 01:32 ID:???
>>278さん
perl: constitute.c:2015: ReadImage: Assertion `image_info->signature == 0xabacadab' failed.
下のスクリプトをbashで走らせると↑なメッセージが出ます。
ブラウザでは知らせれば500エラーでます。
もうわけがわからなくなってきた…
#!/usr/local/bin/perl
use Image::Magick;
$i = Image::Magick->new;
$i->Set(size => '200x200');
$i->ReadImage('xc:black');
$i->Write('png:testw.png');
print $Image::Magick::VERSION."\n";
exit
>>279 手元にWinしかなかったけどそのコードでもコマンドプロンプトから作成できた。
convert -size 200x200 xc:black test.png でもOK。
エラーになるかどうかはOSが違うから参考にはならないかもしれないけど。
ところでブラウザではそのままじゃ無理。
#!/usr/local/bin/perl
use Image::Magick;
print ("Content-type: image/png\n\n"); ←
binmode STDOUT; ←
$i = Image::Magick->new;
$i->Set(size => '200x200');
$i->ReadImage('xc:black');
$i->Write('png:-'); ←
exit;
281 :
269:04/03/07 06:05 ID:???
>>280さん
手元のWinにApacheなど放り込んで試してみましたが、
Winな環境だとうまくいきます。
Linuxと言うかRH7.2ベースのサーバだとうまく稼動しない。
$I->Set(size => '200x200');
まではうまくいくんだけど、ReadやらWriteやらがうまくいかない…
何でだろうと一晩中Webで探してもblog関係のしかヒットしないし、こうなればどっかにお金払ってでも頼むしか無いかなぁとか思いつつ。
あとスクリプト修正ありがとうございます。
面倒なのでbashで見る為だけにかいたのでブラウザは無視してました。
Content-typeやらbinmodeでの標準出力やらしなければだめでしたね。
失敗失敗…
デバッガで追跡すべし
このスレは 269 に乗っ取られたようだ
まあもともと他に話題も無かったし
PODって日本語で書いちゃダメ?
日本語やりたきゃひまわりでもやったらどうだい?
sendmailを使うモジュールって
Mail::Sendmailが定番ですか?
なんとなく Net::SMTP が好き
sendmail を使うモジュールは Mail::Sendmail が定番だろうけど、
sendmail 入ってなかったら困るよなぁ。
>>289 いえ、入ってます。
今は手動でやってるんですが、簡単にしたいなと
こういうわけです。
ありがとうございました。
>>290 そうじゃなくて、将来、sendmailの無い環境で動かすようになる可能性を
示唆してるのだと思うけど。
292 :
290:04/03/09 14:32 ID:???
>>291 >
>>290 > そうじゃなくて、将来、sendmailの無い環境で動かすようになる可能性を
> 示唆してるのだと思うけど。
>
ああ、なるほど。
とりあえず自分が使うんでない環境になたら別の手立てを考えますけど、
それとも、それならNet::SMTPとかに最初からしておくべき、って事でしょうか?
Mail::Mailer とか Mail::Sender とかを使えって話じゃないんだろうか、多分。
>285
使いたければ使っても良いんじゃないの。
CPANに登録したいとか言うのなら英語の方が良いと思うが。
>>294 英語の方が良いっていうか日本語で登録できるの?
万が一登録できても馬鹿にされまくりだと思うけど。
なんで馬鹿にされるの?
英語できない奴に限って変なコンプレックスを持ってる
298 :
遙皇 ◆HEHARUKAoo :04/03/14 21:53 ID:MDuAbN5E
cygwinのPerl5.8.2でCPAN.pm使って
G/GA/GAAS/libwww-perl-5.76.tar.gzとかインスコしようとすると
HTML::Parserでコケますが
これってこういうものですか?
>>298 Perl のバージョンあげた後、入れるの忘れてたからついでに入れてみたけど問題なく入ったべ。
これ以上は何て言われてこけてるのかわからないとなんとも。
>>299 こりゃどーもすまんです。
perl.hとかperlvars.hで氏ぬほどsyntax errorが出てるのですが
In file included from /usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE/perl.h:2349,
from Parser.xs:19:
/usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE/scope.h:221: error: syntax error before "sigjmp_buf"
/usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE/scope.h:221: warning: no semicolon at end of struct or union
/usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE/scope.h:228: error: syntax error before '}' token
(Snip)
In file included from /usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE/perlapi.h:37,
from /usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE/XSUB.h:313,
from Parser.xs:20:
/usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE/perlvars.h:31: error: syntax error before '*' token
/usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE/perlvars.h:31: warning: data definition has no type or storage class
(Snip)
/usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE/perlvars.h:52: error: syntax error before '*' token
/usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE/perlvars.h:52: warning: data definition has no type or storage class
make: *** [Parser.o] Error 1
/bin/make.exe -j3 -- NOT OK
Running make test
Can't test without successful make
Running make install
make had returned bad status, install seems impossible
こんな感じです。
perl.hが悪いとか言われても(;´Д`)
コンパイル通らなければ修正するしかないだろう。
標準ライブラリヘッダってわけじゃないんだから、編集しても全然問題なし<perl.h
>>300,
>>301 原因をキチンと調べて、他に方法が無いにしか修正しない方がいいと思うけどね。
ググって同じような原因で悩んでいる人がいないのなら、大抵、自分の環境がおかしいから。
このモジュールの make は通っても、他のモジュールのコンパイルに影響を与える可能性もある。
cpan> look HTML::Parser
# perl Makefile.PL
# make > LOGFILE 2>&1
して、エラーメッセージの始めの方見せて欲しいかも。
パッと思い付くのは Perl が複数バージョン入ってて、ゴチャゴチャになってたり、
gcc が必要なヘッダを見付けられてないとかかねぇ。
あと、今から入れるんなら事情が無い限り 5.8.3 にした方がイイと思うが。
すみません、お世話になります
まずmakeのメッセージの冒頭
(Snip, only cp *pm)
/bin/perl.exe /usr/lib/perl5/5.8.2/ExtUtils/xsubpp -typemap /usr/lib/perl5/5.8.2/ExtUtils/typemap -typemap typemap Parser.xs > Parser.xsc && mv Parser.xsc Parser.c
/bin/perl.exe mkhctype >hctype.h
/bin/perl.exe mkpfunc >pfunc.h
gcc -c -DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -DUSEIMPORTLIB -O2 -DVERSION=\"3.35\" -DXS_VERSION=\"3.35\" "-I/usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE" -DMARKED_SECTION Parser.c
In file included from /usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE/perl.h:687,
from Parser.xs:19:
/usr/include/sys/times.h:11: error: conflicting types for `clock_t'
/usr/include/time.h:69: error: previous declaration of `clock_t'
こんな感じでコンフリクトから始まってます。
続き
In file included from /usr/include/asm/socket.h:14,
from /usr/include/cygwin/socket.h:23,
from /usr/include/sys/socket.h:15,
from /usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE/perl.h:709,
from Parser.xs:19:
/usr/include/cygwin/if.h:79: error: syntax error before "caddr_t"
/usr/include/cygwin/if.h:81: error: syntax error before '}' token
/usr/include/cygwin/if.h:82: error: syntax error before '}' token
ここまでif.h
続き
In file included from /usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE/perl.h:2071,
from Parser.xs:19:
/usr/include/pthread.h:72: error: syntax error before '*' token
(Snip)
/usr/include/pthread.h:135: error: `pthread_create' declared as function returning a function
/usr/include/pthread.h:135: error: syntax error before "void"
/usr/include/pthread.h:139: error: syntax error before "int"
/usr/include/pthread.h:141: error: syntax error before "void"
/usr/include/pthread.h:142: error: syntax error before '*' token
(Snip)
/usr/include/pthread.h:178: error: syntax error before ')' token
/usr/include/pthread.h:185: error: syntax error before "pthread_self"
/usr/include/pthread.h:188: error: syntax error before "int"
/usr/include/pthread.h:189: error: syntax error before "const"
ここまでpthread.hですがこれはヘッダが悪いかも
こんな感じでログが13KBほどあります。
・そもそもヘッダファイルが悪い
・threadsにPOSIX使うな
みたいな感じで解決策は思い浮かぶのですがそこから先がどうもダメです・・・
pthreadとかsys/times.h、time.hを使った他のソース(Perl以外)はコンパイルできるの?
pthreadはlibが見つかってなかったようです。
環境を修正したらこっちは落ち着きました。
ただ、time.hとsys/times.hはダメですね。
time.hとsys/times.hがコンフリクトしたらPerl自体ビルドできねえじゃん・・・_| ̄|○
再インスコします
再インスコしてわかったのですが
そもそも/lib/libc.aが見つかってなかった模様ですた。
311 :
nobodyさん:04/03/29 19:23 ID:VhHocr2p
CGI::Sessionつかって
$session = new CGI::Session("driver::File", undef, {Directory => $session_dir});
$sid = $session->id();
$session->param("aaa", "v_bbb");
のようにして、得たセッションIDをもとに次にアクセスするときにその
セッションIDをもとに
$session = new CGI::Session(undef, $sid, {Directory => $session_dir});
として、前のセッションのデータにアクセスしようとしたんですが、データを
引き継げてないようです。これは使い方が間違っているのでしょうか?
ぶっちゃけparamメソッドで入力したデータに二回目以降のアクセスで
取得できるようにするにはどのようにすればいいのでしょうか?
$session_dirに指定したファイル?もどこにあるかわからないし、、、
わからないことずくしです。
>>311 「データを引き継げていないようです」なんて投げやりな事を言わずに
とりあえず use strict したり、スクリプトのあちこちに print STDERR $hoge とかして
何がおこってるのか確認してみたらよいかと思うですよ。
313 :
おしえてたこらん:04/04/06 00:09 ID:iAK4SXtb
Perlでセッションを使う一番簡単なモジュールを教えてください!!
無料鯖で使いたいのでpmファイルをもってくれば使えるだけのがいいです!!
>>311 $session_dirのパーミッションは?
>>313 セッション管理で何がやりたいかによって違う。
単にSessionIDで連続したセッションである事を管理するだけならcookieを
使えばよい。セキュアでない単純なデータの保存もcookieで良い。
大量のデータを保存する場合は、Apache::SessionやCGI::Sessionが便利だが、
依存するモジュールが多いので単にpmを持ってくれば良いというものではない。
比較的簡単なのはWalrus::Session::Lite。
316 :
nobodyさん:04/04/07 11:57 ID:uSQ3Xq7V
Perl スクリプト内で、相対パス指定を絶対パス指定に変換できるような
モジュールはありますでしょうか?
ぐぐってみたら File::Spec->rel2abs が見つかりましたが、" ../../ "の
ような指定が思った通りに変換できませんでした。
(Active Perl v5.6.1 Build 635@Win2000上で確認)
テストに使ったコード(test2.perl)
use File::Spec;
$abs_path = File::Spec->rel2abs( '../../temp/', 'c:/WINNT/system32/drivers/etc/' );
print $abs_path;
結果
C:\>perl test2.perl
C:\WINNT\system32\drivers\etc\..\..\temp
C:\WINNT\system32\temp に変換して欲しいのですが・・・
>>316 そのものズバリはしらない。
ちょっとカッコ悪いが下のスクリプトで同じような結果になる。
use Cwd;
my $cur_dir = Cwd::getcwd();
chdir '../../temp';
print Cwd::getcwd();
chdir $cur_dir;
my $abs_path = File::Spec->rel2abs('../../temp/', 'c:/WINNT/system32/drivers/etc/');
shorten => while $abs_path =~ s|[^/\\]+[/\\]\.\.[/\\]||;
print $abs_path;
319 :
316:04/04/07 14:39 ID:???
>>317 >>318 318さんの方法を使う事にしました。ありがとうございました。
あと、スレ違いになってしまいますが 318さんのコードの中の
「shorten」は Perl 標準関数でしょうか?
ぐぐってみたのですが、正体が分かりませんでした。
>>319 => 演算子を調べるべきだろう。
'縮めろ' while ... なり
1 while ... なり
while ($abs_path =~ ...) {} なりご自由に。
>>311 mod_perl使っているなら
$session->flash();
が必要
323 :
321:04/04/07 22:19 ID:???
>>322 flashではなくflushです。すまそ
E:\>perl -e "笑点 => while 1;"
Unrecognized character \x8F at -e line 1.
(`Д´)オッシャ
こうだろ。
$ perl -e "'笑点' => while 1;"
Image::Magickのマニュアルなぜ翻訳されて無いんでしょうか?
2、3見つかりますがどれも機械訳&途中までで使い物にならないです
もしあるのなら教えていただけませんでしょうか?
使ったスクリプト書いてwin上で動いてたのが
レン鯖で動いてくれなくて・・・
日本語訳がないとわからないならそういうものを使わなければいい
使う必要があるから聞いてるんだろ
自分でちょっとづつ翻訳していってるのがローカルにあるよ
しかしあまりに時間がかかるしわからない英文もある。
本来のやりたい事と実際やってる事が激しく脱線してて
いやんなるんだよ
大体論点ずれてんだよ
これだけ一般的に使われてるモジュールが
なぜ翻訳されて無いのかと聞いてるんだろ
こんなに翻訳されてるのに
http://perldoc.jp/ 何でもかんでも
使いたいなら英語勉強しなってな風潮にうんざり
あ、不毛だからもうレスいいです
世の中なんでも自分のレベルに合っていないといけないわけ?
自分に合った環境が整っていないと切れる能無しのほうがうんざりするが。
Give&Takeの仕組みがわかってないんだろうか。
翻訳したもの自分のサイトで晒してから言えって。
332 :
nobodyさん:04/04/18 05:17 ID:Z8nwBIb4
うっせー馬鹿
うだうだくっちゃべってる暇あったら早く翻訳しろカス
自分で翻訳するしか。
328はImage::Magickの和文マニュアルを見て何をしたいのだろう?
APIが書いてあるだけだよね。APIを確認したいって話か?
それよか「動かない」ってどういうことなんだろう?
当人のスキルが判らなさすぎなんで、何ともいえなさすぎ。
もう解決したよヴォケが
$hoge->Write(filename=>'./hoge.gif',type=>'gif');
俺のローカル環境(win)ではこれで動いてたのが
レンタルのunix環境では動かなかった
$hoge->Write("gif:./hoge.gif");
こんな感じでいいんだな
あと、別にタイプ指定しなくても拡張子で判断して
ちゃんと圧縮方法選んでくれるようだ。
$hoge->Write("./hoge.gif");
それっぽっちのことで騒いでいたのか ( ゚д゚)ポカーン
てす
マニュアルどうこうより問題箇所の切り分けをできるようにならんと・・・
誘導されてきますた。
すみませんがWindowsでのミリ秒の取得方法をご教授下さいOTL
Jperl 5.005_03 です。
標準入力に何秒かかったというコーディングって
むずかしいですかね?(´・ω・)
>>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に移行したほうがいいと思いますよ。
5.8.3 ぢゃないのか
Win32::GetTickCount()
>341
5.8.4だろ?
>>343 Activeperlは5.8.3build809が最新。
>>340 どうもありがとうです。
やってみたけどおいらの知識では(´・ω・)でした。素直に諦めます。
モジュールってどっかから落としてこないと駄目なんですよね?
Jperlにした意味は特にないです。たまたま見つけたので今まで使ってました。
近いうちにactiveperl入れてみたいとおもいます。
初心者丸出しすみません・・・OTL
346 :
345:04/04/26 11:39 ID:???
早速activperlいれますた。
うまくいきました! ありがとうございました(`・ω・´)
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 の意味もいまいち。
大体解りました。
感謝します。
#そのページの回答者にも
CPAN に IOC::Lite をハケーン。(・∀・)イイッ!
351 :
nobodyさん:04/05/21 20:32 ID:2dDSzz6y
初心者スレから誘導されてきました。
バーコードイメージ(PNG)をベクターデータに変換して
PDFに貼り付けたいのですが、
そんな処理はperlで可能でしょうか?
ちなみに環境は、Linux + perl5 です。
>>351 また難しい注文だな。
Perl のモジュールでそれができるものは見当たらないが、
Linux 上で動いて輪郭抽出を行うソフトとして autotrace てのがあって、
一応 PNG を食って (輪郭だけの) PDF を吐き出すことはできるらしい。
http://autotrace.sourceforge.net/ こいつを perl から呼び出せば、できんことは無いと思う。
ただ、すでにある PDF の上に輪郭を貼り付ける、というのは、
さらにもう一段階難しいと思われる。
フォントファイルと文字とあと必要な属性(サイズとか)を指定して
その文字が表示された場合の横幅(ピクセル数とか)をゲットする
ということをやりたいのですが
そういうモジュールってありませんか?
フォントファイルはTrueType(TTC)ファイルで、
文字はASCIIだったり日本語だったりします。
354 :
nobodyさん:04/05/28 21:06 ID:CmH5bJcK
GD
355 :
nobodyさん:04/05/28 21:07 ID:CmH5bJcK
GD
356 :
nobodyさん:04/05/30 01:13 ID:AsPEp7PV
すみません、ちょっと質問なんですけどperlをコマンドにしている
perl=/usr/local/perl…
のように定義されているファイルを教えて下さい。
旧バージョンの方が記述されてしまっているようで困っております。
( ゚д゚)ハァ?
358 :
nobodyさん:04/05/30 02:22 ID:njFgOC0Y
HTML::Templateのライセンスについて聞きたいんですけど。
HTML::Templateって、GPLですよね?
ってことは、GPLの
プログラムの全部あるいは一部を用いて作られたソフトウェアは
GPLに従って頒布されること
ってことで、HTML::Templateを利用した「ウェブアプリ自体」も、GPLに従い、
・必ずソースプログラムとともに頒布、複製される。もしソース
プログラムを付けずに配布する場合は、ソースプログラムを確
実に入手できる手段を提供することが義務付けられる
・ソフトウェアを使用、複製、変更、頒布したり、新しいフリー
ソフトウェアの一部として利用できることを認める
・GPLに従って頒布しなければならない
ってことになるんですかね?
360 :
358:04/05/30 03:48 ID:???
>>359 リンクありがとです。
Artistic License は仰る通りHTML::Templateのドキュメントにも
書いてあったのですが、よく分からないんですよね。この辺のライセン
ス関係の解釈って難しいので(単に私が馬鹿ばだけかもしれませんが)
リンク見てもググっても、結局得たい答えが見つかりませんでした。
早い話、HTML::Templateを一切改変せずそのまま「標準版」として
自作ウェブアプリの1ライブラリとして利用し、商用目的で配付する場
合、Artistic Licenseではどの様に扱われるかということなんです。
そもそもそういった商用目的での配付は無理なんですかね?可能でも
自作ウェブアプリのソースも公開し、配付と改変を認めないといけない
のですか?
それとも、ソースクローズドな形で配付できる方法もあるのでしょう
か?
|
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. このパッケージを商用配布と組みあわせるのは つねに許されています、
| もしこの 「パッケージ」の利用方法が埋めこみであれば、 すなわち、この「パッケージ」の
| インターフェイスが その商用配布のエンドユーザーに見えるように しようとするのでなければ。
| このような 利用方法はこのパッケージの配布と 解釈されません。
362 :
358:04/05/30 17:34 ID:???
>>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.商用配布は常に許される。その利用方法が埋め込み、つまりパッケージのインターフェイスが商用配布のエンドユーザー
に見えるように意図しないことが条件。この場合はパッケージの配布とは解釈されない。
ってことですよね?
363 :
358:04/05/30 17:36 ID:???
そこで質問なのですが、ここでいう「インターフェイス」ってのは、普通の解釈どおり、パッケージまたはモジュー
ルのサブルーチンまたはメソッド(およびそれによって実現される仕様:例えばHTML::Templateなら、TMPL_VARタグ
など)と考えて良いのでしょうか?
もしこの解釈が間違っていなければ、尚且つ「エンドユーザー」がそのアプリを購入して実際にアプリとして稼動さ
せた場合の利用者であるならば、購入者に、「プログラマの方へ:paramメソッドのxxxx引数に掲示板の記事を入れて
下さい、デザイナの方へ:<TMPL_VAR NAME="xxxx">の部分に掲示板の記事が表示されますので適宜HTMLなどで装飾し
て下さい」などとインターフェイスをマニュアル上に書き込んでも、購入者はエンドユーザーでなく、これらのマニュ
アルを見て実際にアプリをチューニングして稼動させる側であり、その稼動したアプリを実際に利用する「エンドユー
ザー」ではないのでこのように購入者側にマニュアルとしてインターフェイスを公開してもThe Artistic Licenseの
8.には違反しないと解釈して宜しいですか?
また、それが正しいのであればパッケージの配布とは解釈されないので、「マニュアルに規定したチューニングなど
による改変以外、無断複製、無断改変を禁止します」と制限をかけることが出来ますか?そして配布と解釈されないの
で自作アプリの著作権表示を(当該パッケージの著作権表示とともに)記載しても構いませんか?
著作権やライセンスに関する不明瞭な部分は、第三者に聞いても解決はしない。
>>362-363 「インターフェイス」や「派生物」という言葉が何を指すかを
厳密に定義できるのは裁判官だけだ。国内では Artistic License
も GPL も判例が出ていないから、正しい答は誰にも出せんよ。
解釈に不安があるのなら、やるべきは実例を沢山漁って線の引き
処を掴むなり、ライセンス条文を書いた所へ直接尋ねる事だろうし、
相談相手にするべきは 2ch の名無しではなく君の会社の法務部
だろうな。
あと、完全にスレ違いの話題なので、続けたいなら余所へ
行ってくれんか。
http://pc5.2ch.net/test/read.cgi/tech/1045006087/
366 :
358:04/05/30 22:26 ID:???
>>364 >>365 ご回答ありがとです。仰る通り、これは第三者に聞いても解決しないかもしれ
ませんね。
法務部に回さなかったのは、結局のところ回したところで法解釈に留まり、そ
の解釈に何ら法的効力が担保されないと思ったからです。事実、仰る通りこれは
裁判官の判断しか法的効力を持たず、かといって国内では判例もないどころか通
説も見当たらないので「正しい答え」を知る為に、実務で私と同じような状況に
あって実際にこのライセンスを私と同じ状況下で、商用目的で利用されていらっ
しゃる方がいないかと思い、2chで聞かせて頂いたのです。
もう少しMLなどで聞いてみてそれでも駄目なら、直接、Sam Tregar氏に聞い
てみようと思います。
モジュールの話が、ライセンスの話になってしまい、ご指摘通り、スレ違いと
なりました。申し訳ないです。このスレでのこの話題についてはこれで終わりに
します。有難うございました。
367 :
358:04/05/30 22:29 ID:???
>>364 >>365 ご回答ありがとです。仰る通り、これは第三者に聞いても解決しないかもしれ
ませんね。
法務部に回さなかったのは、結局のところ回したところで法解釈に留まり、そ
の解釈に何ら法的効力が担保されないと思ったからです。事実、仰る通りこれは
裁判官の判断しか法的効力を持たず、かといって国内では判例もないどころか通
説も見当たらないので「正しい答え」を知る為に、実務で私と同じような状況に
あって実際にこのライセンスを私と同じ状況下で、商用目的で利用されていらっ
しゃる方がいないかと思い、2chで聞かせて頂いたのです。
もう少しMLなどで聞いてみてそれでも駄目なら、直接、Sam Tregar氏に聞い
てみようと思います。
モジュールの話が、ライセンスの話になってしまい、ご指摘通り、スレ違いと
なりました。申し訳ないです。このスレでのこの話題についてはこれで終わりに
します。有難うございました。
368 :
358:04/05/30 22:31 ID:???
500 エラーが出たのでリロードして確認したら更新されてなかったので
もう一度書きこんだら二重書き込みになってしまいました。すみません
です。
370 :
358:04/05/31 09:30 ID:???
>>369 ご紹介有難うです。
ご紹介いただいたスレを見ましたが、
>>365 と同じく、質問には向かない気がしました。
法務部に問い合わせを代行させてもよいのですが、私と法務部の間で
伝えたいことのニュアンスの違いがあるかもしれないので直接調べるな
り直接Sam Tregar氏に聞いてみようと思います。
色々お騒がせしてすみません&感謝です。
371 :
nobodyさん:04/06/07 00:10 ID:KicuegCZ
373 :
nobodyさん:04/06/07 00:38 ID:KicuegCZ
>>372 レスありがとうございました。
ステータスを見落としてたとは・・・。
FAQでしたね、失礼しました。
374 :
なぜか解決(?):04/06/07 00:44 ID:KicuegCZ
ダメ元でlinux用の.pmファイルを突っ込んでみたら誤魔化せてしまったようです。
棒グラフと折れ線グラフの出力に成功しました。
解決といえるかどうかわかりませんが、報告まで。
初心者スレでこちらの存在を教えていただきました。
質問なのですが、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;
と宣言しています。原因はなんでしょうか?
WWW::Mechanize は LWP::UserAgent を継承していて
requests_redirectable も LWP::UserAgent のメソッドなので
LWPの方が怪しそうな気が。
WWW::Mechanize と LWP のバージョンはそれぞれいくつじゃい。
378 :
376:04/06/16 11:25 ID:???
>>377 ありがとうございます。バージョンの問題のようでした。
libwww-perl: 5.51 → 5.75
WWW::Mechanize: 0.48 → 0.72
にアップグレードして動作しました。
379 :
nobodyさん:04/06/22 20:34 ID:0XcCSiRM
Net::SMTPとMimi::Entityを使って画像ファイルを複数添付したメールを送信しようとしていたのですが
添付ファイルの総容量がある一定を超えると全ての添付ファイルが送信されなくなってしまいます。
データの処理サイズを指定してその最大値を超えないようにファイルを処理していけば良いのかなと思い
サンプルを探してみたりCAPNでモジュールのマニュアルやソース読んだりしてみたのですが
何をどうやれば良いのかさっぱり分かりません。
どなたかお知恵をお貸し下さい。
380 :
379:04/06/22 20:39 ID: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(),
);
381 :
379:04/06/22 20:40 ID: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;
情けない質問で申し訳ありませんが、宜しくお願いします。
このソースを自宅鯖の環境で20Mぐらいのファイルを添付する設定で実行してみたら
postfix が「メールでかすぎ」と言って受信拒否してくれた。
ということは少なくとも postfix まではちゃんと流れて行ったと想定される。
mail.hoge.co.jp の設定を確認してみては?
383 :
379:04/06/23 13:09 ID:NP7S6l9r
>>382 レスありがとうございます。
一応自己解決(かな?)しました。
昨日の時点では一つのメールソフト(Netscape)だけで確認していたので
今日Outlookやフリーのソフトを複数使って受信確認してみた所
添付ファイル自体はきちんと添付されているらしい事がわかりました。
(HTML形式のメールなのでOutlookでは画像が想定どおり表示され、フリーの
メーラーでは添付処理したファイルがすべて確認できました)
そこでNetscapeの設定等に問題があったのかと思い、色々弄ってみた結果
どうやらHTML形式のメールで使用する画像を添付ファイルとして送信した場合
その総容量がある一定を超えると(どうやら15K以上)、そのメールを最初に表示した場合には
そこで使われている画像を読み込まずにテキストだけを表示しているらしい事が分かりました。
(だから表示文字コード設定を変えたりして再度読み込むと、その時はきちんと画像が表示されました)
どうやらNetscapeのメールソフトのみで起こる問題のようです。
メール内で使ってる画像をWeb上からリンクさせるのは嫌だなぁと思ったので画像を添付しようと思っていたのですが
もしNetScapeのメールソフトで起きている問題を解消できたとしても、画像の添付された重いメールを送信出来るようになるだけで
最終的にはメリットが少ないと思い、ファイルを添付した状態でメールを送る事自体を断念しました。
ご迷惑をお掛けして申し訳ありませんでした。
でも何でネスケでだけ変な動きしたんだろう…添付のさせ方間違ってたのかなぁ?
テキストファイルや標準入力に対してベイジアンフィルタで分類するモジュールないですか?
10以上のカテゴリに分類できるものを探しています。
387 :
nobodyさん:04/08/08 11:17 ID:Ejd6WZ6r
MIME::Explodeと同じ様な感じで、
ファイルではなくメモリ上に展開してくれるモジュール無いですか?
MIME::Parser
perlでmysqlを操作するために必要なモジュールってなんでしたっけ?
DBIと他に二つくらいあった気がするんですが忘れてしまいました。
一応今はwinxpにactiveperl5.6.1.638が入ってるのでPPMを使ってやろうと思いますが一応順番も関係あった気がするので
知ってる方おながいします。
390 :
389:04/08/08 18:11 ID:???
Data-Dumper
DBI
Msql-Mysql-modules
の3つを上の順番でインスコでした;失礼しました。
391 :
389:04/08/08 18:23 ID:???
すみません;何故か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のバージョンで問題なくインストールできました。
エロイ人おながします。
>>391 PPM のバグのせいで ppm.xml が壊れてしまったんじゃないかと思う。
直し方は知らないのだが、5.8.4 に移行すればたぶん問題なくなる。
393 :
389:04/08/08 23:15 ID:???
>>392 ありがとうです。
今度使うサーバがactiveperl5.6.1.638を使ってるので、一応同じもので動作確認をしたくってこれを使ってます。
perlの再インストールとか試してみます。
394 :
389:04/08/09 06:56 ID:???
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を使っています。
395 :
nobodyさん:04/08/09 08:56 ID: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>
何も出力されないというのは
397 :
nobodyさん:04/08/09 08:58 ID:CVqqb4Xe
途中で送信してしまいました。
何も出力されないと書きましたが
Content-Type: text/html
だけは出力されます。
HTML::Templateが何も出力してくれないという事です。
>>397 HTML::Templateが壊れてるんじゃないの?
CPAN使って
install HTML::Templateで入れただけなのですが…
$html->output; は返すだけだったと思う
print $html->output; にしないと
print $html->output;
動きました。ありがとうございました。
getResultみたいなメソッド名にしてくれれば、
こんな事で悩まないのに…
403 :
389:04/08/09 10:23 ID:???
Msql-Mysql-modulesの代わりにDBD-mysqlをインストールして解決いたしました。失礼します。
>>402 $html->output(\*STDOUT)でもいけたはず。
メソッド名が紛らわしいのは同感だが、ドキュメントのSYNOPSISくらい読もうな。
405 :
nobodyさん:04/08/28 17:28 ID:XMnxFKiq
CGI::Sessionってセッション管理にCookieを使う事が必須なのですか?
POSTやGetでセッションIDを渡していく方法はできないのでしょうか?
>>405 CGI::Session のマニュアルも見ねぇのかよ。氏ね。
408 :
nobodyさん:04/10/11 17:29:51 ID://6u00DL
CGI::SessionはPHPのセッションと同等のことができるんですね。
素晴らしい。
DBIとかも保持できるの?
コネクション切れちゃわない?
DBコネクションを保持するのはセッションとは全然別の話だから
Apache::DBI で対応する
Class::DBIつかったら、Apache::DBI使わなくても
かってに保持される?
Class::DBI が使っているのは Ima::DBI
これはコネクションを保持するんじゃなくてクエリ結果をキャッシュしておくやつ
413 :
411:04/10/12 01:33:21 ID:???
>>412 へぇー。知らなかった。
メモリ食いそうだな。。
Apache::DBIはmod_perlが必要なのかOTL
まあ普通に考えてプロセスが終了すればコネクションも切れる。
CGIはリクエスト毎にプロセスが終了するので、誰かが生き続けないといけない。
PHPの場合は mod_php が apache 内部で生き続ける。
同じことを perl でやろうとするなら、当然 mod_perl という話になる。
>>412 Ima::DBI - Database connection caching and organization
同一プロセスで、
dbhと、prepareされたSQLステートメントをOO的に使いまわす仕組み。
クエリのキャッシュじゃない。
418 :
nobodyさん:04/10/17 13:11:00 ID:cj8+Zu2z
PHPのSQLiteみたいにテキストファイルに対してSQLで
データのやりとりをするモジュールってできないかな。
速度的にも十分実用的なやつ。
DBD::CSVなどはちょっと実用的じゃないですしね。
PerlでSQLiteを使えば?
それとも、PHPのSQLiteって別物?
>>418 使ったこと無いんだけどDBD::CSVとかDBD::Spriteって実用的じゃないの?
速度はそりゃ劣るだろうがそこそこいけるみたいだったが
DBD::SQLite入れるのが一番はやいと思うけどね
DBD::SQLiteっつーのがあるんだ?
知らなかったよ。
cpanで検索くらいしろよ
cpanってなんて読むの?
くぱん?しーぱん?しーぴーあん?こぱん?
426 :
nobodyさん:04/10/19 10:49:16 ID:sbgcDJ+7
まあそういうことだ。
やりたいことにもよるが、
たぶん君の場合は、LWPの中に入っている LWP::Simple で用が足りると思う。
つーか、玄人ならNet::HTTPを使うね。
POEでもいいぞ
430 :
nobodyさん:04/10/20 17:20:13 ID:Z3mYsmEN
>>426 LWPを使用してデータを取得できるようにはなりました。
ただ、呼び出しもとのCGIからPOSTを使用して
データを送りLWP::UserAgentをつかってるので
CGIから呼び出したCGIの実行結果に
HTTP/1.1 200 OK Connection: close Date:・・・
と引っ付いてきます。
CGIから出力したデータのみを受け取る方法は
ないでしょうか?
送信結果に必ず専用の文字列を付けてsplitで
分割してやればとれるのですが・・・。
PerlerならNetモジュールシリーズということで
Net::HTTPを使おう!
433 :
nobodyさん:04/10/22 20:38:20 ID:W90PZT9w
LWP::Parallel::UserAgentの使いかたの日本語サイトってありますか?
LWP::UserAgentから移行したいのですが使いかたがわかりません。
WEBからHTMLを引っこ抜くだけでいいので、教えて下さい。。。
ヘッダは一番初めの\r\n\r\nまでだからそこまで
スキップするなり削るなりすればよろし。
HTTP/1.\dを送らない場合もヘッダ送ってこないね。
むしろLWP::Simple使えば楽そうだけど
>>433 君もよくこんなあやしいモジュールを見つけてきたな。
man を読んでも使い方がわからん(笑)。
まあ冗談抜きで作者に直接聞くのが良さそうに思える。
>>435 GET でなく POST が必須のケースだと LWP::Simple では厄介なのかもしれん。
437 :
nobodyさん:04/10/26 17:52:20 ID:1e7srzTI
無限ループに陥ったかどうか監視するようなのありませんか?
Perlの外からやった方が速い。
指定時間CPU私有したらKillとか
439 :
nobodyさん:04/10/26 17:58:22 ID:1e7srzTI
落としたらやばいレンタルサーバーで使いたいんです
自分のマシンで動作確認してから使えよ
CGI:Carpは使っているよな?
広島?
443 :
nobodyさん:04/10/26 20:28:08 ID:MHz0RVYO
>>435,436
お返事ありがとうございます。
速度的な問題でNEWSサイトの記事を並列アクセスでGETしたいんですよ。
今度はLWP::Para::UserAgentっていうのを見つけたんですが
またわかりませんw
LWP::UserAgentを参考にしろとあったのですが、わかりませんw
444 :
nobodyさん:04/10/26 20:28:48 ID:MHz0RVYO
sub getLinkDocument()
{
$SIG{ALRM} = sub {die "timeout"};
my $url =$_[0];
$| = 1;
my $link_agent = LWP::UserAgent->new();
$link_agent->agent("robovie/v0.99 ooie");
my $request =
HTTP::Request->new(GET => $url);
my $link_content="";
eval{
alarm(10);
my $response = $link_agent->request($request);
if($response->is_error()){
printf " %s\n" , $response->status_line;
}
else{
$link_content = $response->content();
}
alarm(0);
};
#print $link_content;
return jcode($link_content)->euc;
}
書き換えお願いします。。。
445 :
nobodyさん:04/10/30 16:39:05 ID:N1vJ8kvj
444です。
なんだかんだで、ソケットを分割してパラレルアクセスできる関数を
作ることができました!
板汚しすみません。
446 :
nobodyさん:04/11/17 00:47:02 ID:eDG30weT
モジュールが使いこなせたらと思っているのですが、
どのモジュールがどんな使い方ができるのか、を全体的に知る方法はないでしょうか。
何かをするときにわざわざ調べるんじゃなくて、知っておきたいのですが。
Unicode::JapaneseとJcodeってどっちがいいんだろ。。
JEncode
450 :
nobodyさん:04/11/19 00:20:32 ID:NL+qMdTZ
Imagemagickの質問です。
以下、最小構成のサンプルコードです。
■問題までの過程
1.FTPできれいな画像をあげた。
2.$i->Readした。
3.何もしないで同じ場所に$i->Writeした。
4.画像のパーミッションは666!
■問題
画像の終わりのほうがグレーになる。
■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■
■■■■■■■■■■■■□□□□
↑みたいな感じ。
#!/usr/bin/perl
use strict;
use Image::Magick;
my $i = Image::Magick->new;
$i->Read("/home/www/hoge/html/$mode.jpg");
$i->Write("jpeg:/home/www/hoge/html/$mode.jpg");
なんでぇ?偉い人教えてください。バージョンは最新。OSは赤帽。
>>448 俺はJcode使ってるけど
UTF8ではおかしいらしいから
UTF8使うときはEncodeかな
>>450 ImageMagicのconvertを使って変換しても同じ結果になるの?
ImageMagick(PerlMagick)で縮小したGIF動画にかなりノイズが入ります。
GIF動画の場合に特別な処理ってありますか?
$width = 120;
Scale(geometry=>$width);
という具合に縮小してます。
>>453 ドキュメント読めバカ
geometryの指定の仕方が待ちガッ取る
あ、
>>453の表記を間違えてました。
90x120とかを指定してます。
ImageMagickでgifアニメは圧縮するとノイズ出るよ。
出ない場合もあるかもしれんが。
Perl5.8を入れたんだがDB_Fileって使えるよね?
全くPPMが通らないのは何でだろう。。。。
458 :
nobodyさん:04/12/17 12:54:33 ID:PMBOtGAD
あげます
ppm searchしたら出てきたよ>DB_File
ppmの設定がおかしいんでは?
460 :
nobodyさん:04/12/17 22:11:49 ID:LkZWkPCw
>>459 確かにサーチすると見当たるのですが、、、、
インストールに失敗してしまいます。
どうも バージョンに適応しないと判断された という趣旨のエラーメッセージがでるのですが
Activestateで見てみるとPassにはなっているのですよね。
原因がさっぱり分かりません。
モジュールを直に落としてインストールする方法でも同じエラーでダメでした、、、
環境はActivePerl 5.8.4、Windows2000SP4です。
問題なくインストールできるよ。
レポジトリが5.6.x用になってたりしない?
旧版からバージョン上げたりするとありがちな気がする。
ppm> rep desc
で何が出る?
>>461 返答ありがとうございます。
試したいのですが自宅に戻ってしまって試せません。
明日にでも試してみようと思います。
ちなみに自宅で同様のことをやったら、今度は成功しました、、、、、
何なんだろう。
環境の違いはプロキシぐらいなのですが、、、、(http_proxyは設定済みです)
463 :
457=462:04/12/18 12:14:00 ID:j91tTSrD
おおっと、ちんたら書き込んでたら遅れてしまいました。
>>464 そちらのURLを追加して再びやってみたところ、正常にインストールできました。
素晴らしい!
ありがとうございました。これにて完全解決です。
467 :
nobodyさん:04/12/19 15:59:33 ID:oCulOE0F
GDモジュールを利用してMySQLからデータを取ってきて、グラフを表示する
CGIを作成しているのですが、グラフに日本語表示ができずにハマっています
set_xlabel_font('/usr/share/fonts/truetype/kochi/kochi-gothic.ttf',12)
こんな感じで指定してやっても表示できません・・・ 助けてください。
freetype2は?
470 :
nobodyさん:04/12/27 18:41:08 ID:WjDOje5i
もしかするとエンコードの問題なのかもしれませんが、
こちらで質問させていただきます。
ActivePerl v5.8.6にて、
「LWP::Simple」で取得したソースから「HTML::TableExtract」を使用して、
テーブルの文字列を取得しようとしてます。
=@==========================================
use LWP::Simple;
use HTML::TableExtract;
require 'jcode.pl';
$url = "
http://xxx.com/";
$html_file = get($url) or die "$!\n";
jcode::convert(\$html_file,'sjis','euc');
=A=========================================
use LWP::Simple;
use HTML::TableExtract;
use Encode;
use encoding 'shiftjis';
binmode(STDERR, ':raw :encoding(shiftjis)');
$url = "
http://xxx.com/";
$html_file = get($url) or die "$!\n";
$html_file = decode('euc-jp', $html_file);
============================================
@、Aのパターンとも、$html_fileは正常に表示されます。
471 :
470:04/12/27 18:43:27 ID:WjDOje5i
この$html_fileを
=B==========================================
$table_extract =
HTML::TableExtract->new(
headers => [qw(ああ いい うう)]);
$table_extract->parse($html_file);
foreach $table ($table_extract->table_states) {
foreach $cols ($table_extract->rows) {
print "@$cols[0] @$cols[1] @$cols[2]\n";}}
===============================================
Bに流すと、@の$html_fileについては正常にテーブルの値が取り出せるのですが、
Aの$html_fileについては
Malformed UTF-8 character (unexpected non-continuation byte 0x00, immediately after start byte 0xef) in pattern match (m//) at c:/Perl/lib/HTML/TableExtract.pm line 920.
Malformed UTF-8 character (unexpected continuation byte 0xbf, with no preceding start byte) in pattern match (m//) at c:/Perl/lib/HTML/TableExtract.pm line 920.
というメッセージが大量に出現してしまいます。
@については「headers」部に「ー」が入っていると、
Unmatched [ in regex; marked by <-- HERE in m/
が出てしまうので、Aの方法でやりたいと考えてます。
この解決方法を教えていただけませんでしょうか。
よろしくお願いします。
472 :
nobodyさん:04/12/27 20:01:32 ID:alR6olXT
ローカルでperlをインストールし、あるプログラムを実行してあるデータを出力すると「ポ」が半角文字と改行に変わってしまいます。
パールのバージョンを古いのから新しいのまで色々試してみたのですが、結果は同じでした。
ところが、他の人のPCで同じ条件で試して見ると半角文字が文字化け改行せず、正常に出力されます。
これは何が原因と考えられますか?
他人のPCの場合の出力結果(正しい結果):
1.合計
2.現在のポイント
3.通算順位
自分のPCの場合の出力結果:
1.合計
2.現在の・
イント
3.通算順位
>>471 3はスクリプト中に日本語が埋め込まれているようだが、スクリプト自体の文字コードは何?
あと、こちらの事情で恐縮だが、丸数字は使わないでくれると有難い。
>>472 常識的に考えて「あるプログラム」が原因なのは間違い無いように思える。
なお「これって Perl モジュールの質問なのか?」という点も疑問に思ったことを付け加えておこう。
474 :
470:04/12/27 21:22:00 ID:???
>473
>丸数字は使わないでくれると有難い。
大変失礼致しました。
スクリプト自体の文字コードはWindowsなので"shiftjis"です。
ちなみに、取得したいURLの文字コードは"euc-jp"で、日本語ページです。
>>470 1の方法で、headersの文字列にquotemetaかければいいんじゃないの?
>>470 2だと decode('euc-jp',$html_file) した時点で utf8 フラグが立って、
Extract.pm の 920 行目で utf8 フラグの立った文字列を sjis でパターンマッチさせようとして
それでエラーが出るのだと思う。
headers に sjis を入れるのではなく utf8 を入れる、
例えば qw(ああ いい うう) をいったん utf8 に直してから headers に入れるとか、
あるいはスクリプト全体を utf8 で書いてしまうとか、というのはどうだろう。
477 :
470:04/12/29 19:50:47 ID:???
HTMLで100人単位のトーナメント表を作りたいのですが、トーナメント表を生成するモジュールと言うのはあるのでしょうか。
481 :
480:05/01/13 09:07:23 ID:???
>>480 どこが起点になっているのでしょうか?test.cgiが置いてあるディレクトリにはtmpと
名前が付くものはありませんが・・・・・
>>481 そらルートの直下のtmpだろ。
/tmpだし。
……釣り?
483 :
479:05/01/13 12:42:59 ID:???
>>482 ルートとはapacheに設定してあるルートディレクトリですよね。
しかしパソコン内にあるファイル・フォルダ全てをtmpで検索しても
gimp2.2やウイルスバスターなどのtmpフォルダしか出てきませんでした。
なのでやはりどこにも存在してないんだと思います。
これはバグでしょうか?それとも自分でその場所に手動でディレクトリを作ってあげないと
いけないのでしょうか?
確かにセッションのテストをしていても何故かうまくいきません。
ファイルが作られていないという感じです。
ちょっと自分のPCに入ってるapacheのルート設定がどうなってるか調べて
手動でtmpフォルダを作ってみます。
ヒントありがとうございましたm(_ _)m
484 :
479:05/01/13 12:50:37 ID:???
とりあえずServerRootとDocumentRootにtmpフォルダを作成しましたが
CGI処理後にファイルが新たに作られてはいませんでした。
関係ありそうなところにはtmpフォルダを作成しましたが効果なしです・・・・
何が原因なのでしょうか?一応test.cgiの中身をあげます。
485 :
479:05/01/13 12:53:46 ID:???
#!/usr/bin/perl
#京
use strict;
use CGI::Session;
my $session = new CGI::Session(undef,$ENV{'QUERY_STRING'},{Directory=>'/tmp'});
if ( !$ENV{'QUERY_STRING'} ) {
$session->param(-name=>"test" ,-value=>"ok");
}
my $id = $session->id();
print "content-type:text/html;charset=euc-jp;\n";
print "\n";
print $id."<br>".$session->param("test");
print qq|<br><br><a href="test.cgi?$id">テスト</a>|;
487 :
479:05/01/13 13:52:32 ID:???
>>486 どういう意味が隠されているのですか?
>>480さんの
>Directory=>"/tmp"
この一言で全て解決するんでしょうか?
綴りはあってると思いますが・・・;
シングルクォートもやってますが・・・;
わかりませんorz
489 :
479:05/01/13 14:12:38 ID:???
>>488 まさかC直下とは思いませんでした・・・orz
localhostで動かしてるからapacheのルートと思ってました。すみません。
>>489 こいつが馬鹿なのは間違いない事だが、この板ってやっぱ陰湿なやつ多いな。
491 :
479:05/01/13 16:46:24 ID:???
>>490 いえ、私がバカすぎたのです。皆さんかなり親切な方だと思います。
やっとまともに動かせるようになったのですが、
CGI::Sessionではexpire("+1s")などの有効期限を付けると1秒で
期限切れになりますよね。
期限切れのファイルが消されるのは期限切れIDで認証しようとしたときみたいなので
100人の客が来て購入をせずに帰ってしまえば手動で消さない限りいつまでも100個の
ファイルが残ってしまうんですね。
購入までいけばdeleteで消す自動処理ができるのですが・・・
何年もたてばかなりディスクの圧迫になると思うんですが、
CGI::Sessionでは期限切れファイルを消すスクリプトを別に組まないといけないんでしょうか?
定期的に全ファイルを読み込んで期限切れは削除するような常駐?プログラムと
いいましょうか。
>>489 C直下というのは98などで、NT/2K/XPでは違う。
システム環境変数とユーザ環境変数のうち、ログインしたユーザの
ユーザ環境変数で指定されている場所。
C:\Documents and Settings\ユーザ名\Local Settings\Temp
デフォルトでTMPとTEMPが↑に設定されている。
ちなみにLinuxなどで/tmpがどこを指すかには2通りある。
/ ←OSのルート
├ /bin
・ ユーザの / (ルート)
・ ↓
├ /home ─ ユーザ ┬ mail
└ /tmp ├ log
↑ ・
必ずあるOSのtmp ├ public_html ←ドキュメントルート
└ tmp ←鯖によってはユーザのtmpもある
OSのtmp :全ユーザが読み書き可。セッションファイル名(セッションID)を見られる。
ユーザtmp:所有者しかアクセスできないので安全だがたいていは容量が小さい。
>>491 CGI::Session::ExpireSessions
>>491 /tmpのファイルは鯖の再起動やcronスケジュールによる
tmpwatchスクリプトで定期的に削除される。
ユーザの/tmpを用意してある鯖ならそこもtmpwatchで削除してくれる。
(アホな鯖管でなければ)
ただし容量の問題もあるから大量に作成される可能性があるなら
自分で削除したほうがいい。
>>479 Windowsなら最初にそー書いてちょーよ。
Windowsなら%SystemDrive%の直下になる……
んじゃなくて、Apacheがインストールされてるドライブの直下か。たぶん。
というか '/tmp' が嫌ならどっか他にすればいいと思うけど。 'C:/Apahce/tmp'とか、まあ適当に。
crondは入れてないと思うからatかなー。
>>493が良いと思うけどね。
496 :
479:05/01/14 08:05:06 ID:???
>>492-495 解説ありがとうございます。
私の環境はwindowsXPですm(_ _)m情報の後出しですみません。
今回の場合はどうやら
>>495さんのいう通りApacheがインストールされているドライブの
直下でした。
CGI::Session::ExpiresSessionsをいまから調べてみます。
でも実は昨日気付いたのですが、今使っているサーバではCGI::Sessionがインストールされていませんでした^^;
一応申請を出せば対応してくれるようなので大丈夫だと思いますが。
しかしCGI::SessionってCGI.pmと同じくらいスタンダードだと思ったのですが
そうでもないんですね。
Linuxのサーバのユーザtmpは容量制限があるんですか^^;
サーバーのサポートに聞いてみることにします。
まあユーザスペースに新規ディレクトリ作ってそっちに保存してExpiresSessionsモジュールで
削除していくのでもいいかもしれませんね。
皆様大変お世話になりましたm(_ _)m
CGI::Sessionモジュールはpure perlなのでどっかでコンパイルした
物を自分のディレクトリに置いてuse lib './mydirectory/module';
とかすれば鯖管にインストールしてもらわなくても利用できるよ。
デフォルトで入ってる物以外インストールされていないサーバーは多いと思うよ。
>>497 pure perlならコンパイルは不要では
499 :
nobodyさん:05/01/15 17:48:53 ID:dyiVpmIc
http://perldoc.jp/docs/modules/ このサイトってものすごく各モジュールについてわかりやすく解説してくれてるんですが、
他にもこういうところってありますか?英語は読めないので、日本語訳を載せてくれている
ところがいいです。エキサイトなどは宛てになりませんので。
このサイトに載っていないモジュールについてやってるサイトがありましたら
教えて下さい。
世の中に現在どんな便利なモジュールがあるのかを知りたいので。
Active PerlをwinXPで使ってます。
Jcodeを入れたいのですが、ppmで
install Jcode
としたらどうやらPPDがないようなエラー文がでました。
Jcodeって自分でコンパイルしないといけない面倒な代物なのでしょうか?
そろそろjcode.plから移行しようかと思ったのですが;
>>500 どのバージョンのActive Perlかは知らんが
俺の環境ではPPMで普通にインストールできる。
何か間違ってるんだろ。
>>500 うろ覚えだが、win_install.batとかを実行するだけだったと思うぞ。
504 :
500:05/01/16 11:02:11 ID:???
>>501-503 バージョン書くの忘れてすみません。
5.6.1です。使っているサーバと同じ環境にしたいのでこれを使ってます。
サイト読んでみます。
ありがとうございました。
505 :
nobodyさん:05/01/18 14:21:39 ID:aExMxO8W
ActivePerl5.8.1の初期から入ってるモジュールで
CGI:Sessionの代わりに使うのに一番適しているのはなんでしょうか?
よろしくおねがいしますm(_ _)m
507 :
505:05/01/18 14:56:58 ID:aExMxO8W
>>506 ないですか;
現在のサーバにインストールされてないので代用しようと思いましたが・・・
>>497-498 そうなのですか?ちょっとsession.pmだけ自分のとこに入れてやってみます。
508 :
nobodyさん:05/01/21 00:41:30 ID:FhwFWp38
既存モジュールのバージョンをあげる場合、みなさんどうしてますか?
・既存モジュールをuninstallして新モジュールをinstall
・上書きinstall
CPAN::Config make install args に UNINST=1
どこかにモジュールlibの使い方を日本語で解説してるサイトないでしょうか?
511 :
510:05/01/22 19:04:35 ID:???
やっぱいいです。
perldoc.jpと書いてIDを確認するテスト
513 :
nobodyさん:05/01/23 19:11:07 ID:YXSR7daJ
乳首をコリコリすると、鼻毛がびょーんと伸びるモジュールって
ないでしょうか?
CGI::Session::ExpireSessions
このモジュールの使い方と知りたいのですが日本語訳はないのでしょうか?
それとavtiveperlのppmではインストールできなかったのですが、どこかにコンパイル済みの
ものを配布しているところはありませんか?
英語読めない香具師って損だよな
Subroutine main::head redefined at /usr/local/lib/perl5/5.8.5/CGI.pm line 274.
Prototype mismatch: sub main::head ($) vs none at /usr/local/lib/perl5/5.8.5/CGI.pm line 274.
これどういう意味?
ちゃんと書いてあるはずだと思うのにこのメッセージが出るんですけど。
Subroutine main::head redefined
↑
そのまんまやん
再定義って何が悪いんでしょうか?
出ないようにするにはどうしたら?
519 :
514:05/01/24 14:31:31 ID:???
探すの面倒なので、自分で期限切れsessionファイルを消すプログラム書きました。
こんな簡単なもののために1時間も探した自分が間違いでした。
>>515 というか英語圏の人間はほんと楽ですよね。
PC関係なんてファミコンの説明書レベルの感覚なんでしょうねきっと。
CGI::Session::ExpireSessions
これ使ったけどうんこだった
>>520 どうしてうんこだと思ったか書いて欲しいわけだが。
納得できる理由なら参考になる。
>>516 mainパッケージにheadってサブルーチンがあるんじゃないの?
それにもかかわらずCGIパッケージからheadをimportしようと
してぶつかっているのだろう。
解決する方法はCGIモジュールからheadをimportするのを
やめるか、mainパッケージに既にあるheadを別の名前に
するなりパッケージに入れるなりするしかないと思われる。
>>521 バグが酷い。スクリプトの置き場所によってセッションフォルダの設定と違う所削除しようとする。
http://mfpm.blogdb.jp/ > このサイトは、CPANに登録されているモジュールをお気に入りリストとしてコメントをつけて登録したり、他人のお気に入りモジュールの一覧を見たりすることが出来ます。
随分とニッチなサイトが出来たみたいで。
さらっと見たけど、みんな色々なモジュール使ってるのね。
>>525 設定してるしスクリプト側もセッションファイルは見つけてるのに
削除だけ何故かセッションファイルが違うフォルダにあるつもりで削除しようとするんだよ…
で見つからないってほざく。
>>526 へー。しかしソースみたが間違うような複雑なもんじゃないけどな。
可能ならばメッセージをさらして欲しい。
自分に原因があるにも関わらず自分の思い通りにならないと
対象の物・人が悪いと勝手に思いこむ。
そんなタイプなんだろ
>>526 いや、俺普通に使えてるから。バグがひどいのはお前のコードじゃね?
俺も使ってるけど
そんな現象は確認したことない
531 :
nobodyさん:05/01/28 10:36:24 ID:dK9OtT7G
HTML→HDML3.0
に変換してくれるモジュールってありますか?
ライブラリでもいいのでご存知でしたらお願いします。
533 :
532:05/01/28 23:49:59 ID:???
連書き失礼します。
OSはwin2000sp4とxpSp1で各OSにて
ActivePerl-5.6.1.638-MSWin32-x86.msi
ActivePerl-5.8.4.810-MSWin32-x86.msi
の2つを試してみましたが全部同じ結果が出てしまいます。
他のモジュールについてはインストール可能でしたがインストールできな
モジュールとしては他にwin32-APIなどがありました。
同じような理由でインストールできませんでした。
直接MAKEするというのも試みたのですが、
Note (probably harmless): No library found for -lssl
同じようなエラー多数...その後に
Writing Makefile for モジュール名
このように表示されて終了してしまったり、
Writing Makefile for モジュール名 とだけ出て終了してしまったりで
make
make test
make install
などができません。
ご指摘やアドバイスなどいただければ幸いです。よろしくお願いします。
VC++使ったことある?
535 :
532:05/01/29 17:03:04 ID:???
>>534 レスありがとうございます。
vc++は今勉強中でインストールはしています。
未だ余りよく使ったことはありません。自分で書いた単純なdosアプリをコンパイルするくらいです。
No library found for -lssl
ってことはsslのライブラリがないよってことだ。
同じようなエラー多数ってことはライブラリにパスが通ってないんじゃないの?
これ以上はPerlとは関係ないので、Cのとこで聞けば?
537 :
nobodyさん:05/02/02 13:36:42 ID:Z4kiTNs2
普通ならリファラだけど、トップページでクッキー発行してクッキーがないと駄目って言う場合もあるな。
最近はリファラ切ってる椰子多いからな
542 :
537:05/02/03 14:16:55 ID:???
>>538 なるほど。それでやってみます。
ありがとうございました。
>>539-541 もし、
>>538の方法でうまくいかなかった時は、
トップページの内容などをもう少し詳細に調べて改めて
質問させて頂きます
どこのサイトか晒してくれりゃすぐだけどなw
Jcode.pm v2.0のベータ版が公開されたようだね。
5.8.0以降だと単にEncodeへのラッパーらしい。
>>544 5.8.1移行ね。5.8.0のEcodeは問題があった気がする。
あと、単なるラッパーともちょっと違うんじゃないかな。
Encode::Guessとかも使ってるはずだし。
MIMEな出力とかね。
546 :
nobodyさん:05/02/15 00:50:29 ID:fMmdmVF7
CPANについての質問です。
(誤ってPerlコーディング初心者スレに投稿してしまい、こちらに
誘導していただきました。)
CPANでImage::Magickモジュールを入れようとしましたが、エラーになってしまいました。
そこで、ついforce installをしてしまいました。その結果か、入っていないにもかかわらず、
MCPANではImage::Magick is up to dateと表示されてしまうようになりました。
そこで、CPANで入れた(入れようとした)モジュールのuninstallをお教え願えましたら、
幸いです。当方、Perl、CPANの初心者で、概念から良く分かっていませんが、
どうぞよろしくお願いいたします。
548 :
sage:05/02/15 01:01:18 ID:fMmdmVF7
>>547 どのfaqのことでしょうか?出来うる限り情報は探そうとしているのですが、
見つからずに困っておりますので、ご示唆いただけると助かります。
Net::POP3のように受信するだけでなく内容をすべてパースしてくれるモジュールってありませんか?
もちろんAttachmentにも対応していて
550 :
nobodyさん:05/02/16 00:20:28 ID:Boom8P3b
ビートルズのマッシュルームカットを左に3回ほど回すと
ウピョーとなるモジュールってありませんか?
>>546 どうせ動かないだろうし、放っとけばいいじゃん。
原因は色々考えられるが、エスパーにしか分からんな。
552 :
nobodyさん:05/02/16 02:37:38 ID:HkLqL8TJ
>552
ありがとうございます。
MIME-Toolsが使えそうです。
僕でもcpan authorになれますか?
登録するモジュールがあればなれるんでは?
文字列のなかからメールアドレスを抜き出せるモジュールってある?
557 :
nobodyさん:2005/03/24(木) 15:36:49 ID:PUNEcFm5
おっとage
558 :
nobodyさん:2005/03/24(木) 15:38:40 ID:sLxtjNd8
ImageMagickで、できる加工とできない加工があります
○文字注釈、ノイズ追加、合成、枠
×ぼかし、シャープ、エンボス、Modulate(明度・彩度・色相)
同じ経験の方おりませんか?
windows2000SP4+ANHTTPD1.42h+PerlMagick+ActivePerl5.8
use strict;
use Image::Magick;
my $image = Image::Magick->new;
$image->Read("test.jpg");
$image->Blur(factor=>50);
print "Content-type: image/jpeg\n\n";
binmode(STDOUT);
$image->Write("jpeg:-");
exit;
559 :
558:2005/03/24(木) 19:01:03 ID:???
↑自己解決。いつのまにか仕様が変更していた模様!?
どうやって解決したのか書いてってよ
GDモジュールを使いたいのですが、レンタルサーバのため、インストール
してもらうことはできません。自分のディレクトリにモジュールを置いて
使うような方法はありませんでしょうか?
レンタルサーバと全く同じ環境のサーバを用意して
いったんそこで GD をソースから make して
できたライブラリの類をレンタルサーバにアップロードして上手に環境を設定すれば
動くかもしれない
GD::PurePerl なんてモジュールがあったら俺も欲しいが
まあ無理だよなあ、て言うか、それってすでに GD じゃないよな
>>562 うーん、うちのはWindows+Apacheだし、あんまり詳しいことわからんのですよぉ。
なんとかなりそうなら勉強するけど。
perl4時代のGD.plみたいなの、ないですかね?require 'GD.pl'するだけで
済むようななつ・・・
うう、まだ分かってない人がいるんだ。。
全部Perlで書かれていればuse GD;
でいいんだよ。別に拡張子がplでなくても。
だから
>>562は「GD::PurePerl」って言っているわけで。
つか、もし
>>563の言うようにperl4時代にGD.plってのがあったなら、
それがそのまま使えるだろ。
GD って「Perl のモジュール」「PHPのライブラリ」などと誤解されがちみたいぢゃが
本当はあれってCのライブラリなんぢゃ
libgd ちゅうてな、もともとは UNIX 上で C のプログラムを組む人のためのライブラリだったんぢゃ
Perl で使う GD.pm は何かと言うと、libgd を Perl から呼び出すためのラッパに過ぎないんぢゃ
単純に GD.pm だけをサーバにコピることはできるぢゃろう
しかし肝心の libgd が無ければお話にならんのぢゃよ
567 :
566:2005/04/12(火) 01:38:02 ID:???
>>564-567 レスありがとうございます。大変勉強になります。
>>566は、サーバ(レンタルサーバー)上でこの通りに
配置すれば、GDが使えるということですね?
週末にチャレンジします。8xx/6xx/5xxというのは、
ビルド番号のことでしょうか?
いやもちろん使えるかどうかはサーバの環境次第だ。
libgd や GD.dll はバイナリなので、CPUやOSが違えば互換性は無い。
>> 566 のリンク先のバイナリは Windows 用なので、
君のレンタルサーバが Windows サーバだったら動く。
Linux や BSD や Solaris だったら別のものを用意せんといかん。
570 :
568:2005/04/14(木) 22:12:31 ID:???
>>569 あ、レンタルサーバーはLinuxなんですよ。。perlは5.6.1です。
これだとどういうファイルが必要になるでしょう?
Linuxってだけじゃ何にもわからんヨ
GDとGD.pm
telnet使えなくてもtelnet.cgiとかでコンパイルすれば大丈夫
で出来上がったバイナリファイルを指定してGD.pmもコンパイル。
コンパイルをシステム側で抑制しているサーバーって見たことが
ないので知識と根性があれば大抵のサーバーで使える。
>>572 そーお?
そもそもcc等が入ってないトコもあるわけだが
漏れんとこの鯖は cc 入ってるとは思われるんだが
apache が chroot されてるから届かないよ
まあ cc 使えるかどうかは割と簡単に確かめられるから
だめもとでトライしてみるのもいいのでは
ただし cgi はたいてい実行時間制限があって
コンパイルに時間かかりすぎると途中で kill されるから
そのへんは気をつけてな
575 :
nobodyさん:2005/04/17(日) 23:19:11 ID:1jvVN0xc
CPAN経由でNet::SFTPをインストールしたのですが、使用する際にエラーが出ます。。
///////////////////////////////////////////////////////////////
cpan> install Net::SFTP
CPAN: Storable loaded ok
Going to read /root/.cpan/Metadata
Database was generated on Sat, 16 Apr 2005 08:55:04 GMT
Net::SFTP is up to date.
///////////////////////////////////////////////////////////////
#perl -e 'use Net::SFTP;'
Can't locate Math/Pari.pm in @INC (@INC contains: /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i
386-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl/5.6.0/i386-linux /usr/lib/perl5/site_perl/5.6.0 /usr/lib/perl5/site_p
erl /usr/lib/perl5/vendor_perl/5.6.1/i386-linux /usr/lib/perl5/vendor_perl/5.6.1 /usr/lib/perl5/vendor_perl .) at /usr/lib/perl5/site_p
erl/5.6.1/Net/SSH/Perl/Util/SSH2MP.pm line 6.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.6.1/Net/SSH/Perl/Util/SSH2MP.pm line 6.
Compilation failed in require at /usr/lib/perl5/site_perl/5.6.1/Net/SSH/Perl/Util.pm line 56.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.6.1/Net/SFTP/Buffer.pm line 9.
Compilation failed in require at /usr/lib/perl5/site_perl/5.6.1/Net/SFTP/Attributes.pm line 7.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.6.1/Net/SFTP/Attributes.pm line 7.
Compilation failed in require at /usr/lib/perl5/site_perl/5.6.1/Net/SFTP.pm line 8.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.6.1/Net/SFTP.pm line 8.
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
///////////////////////////////////////////////////////////////
tarballからインストールしてもmake testで同様のエラーがでます。
どなたかご教示願えますでしょうか。
577 :
nobodyさん:2005/04/18(月) 01:35:30 ID:YPbpVeWk
cpanでインストールを試みたのですがエラーが出てしまいました。
/////////////////////////////////////////////////
cpan> install Math::Pari
〜〜
Math-Pari-2.010603/
Math-Pari-2.010603/Changes
〜〜
Math-Pari-2.010603/utils/paridoc_to_pod
Math-Pari-2.010603/utils/README
CPAN.pm: Going to build I/IL/ILYAZ/modules/Math-Pari-2.010603.tar.gz
Did not find GP/PARI build directory around.
Do you want to me to fetch GP/PARI automatically?
(If you do not, you will need to fetch it manually, and/or direct me to
the directory with GP/PARI source via the command-line option paridir=/dir)
Make sure you have a large scrollback buffer to see the messages.
Fetch? (y/n, press Enter) y
Getting GP/PARI from
ftp://megrez.math.u-bordeaux.fr/pub/pari/unix/ Cannot list (Failure writing network stream.
): at utils/Math/PariBuild.pm line 195, <STDIN> line 1.
Can't fetch file with Net::FTP, now trying with LWP::UserAgent...
Did not find any file matching /((?:.*\/)?pari\W*(\d+\.\d+\.\d+).*\.t(?:ar\.)?gz)$/ via FTP at utils/Math/PariBuild.pm line 233.
Running make test
Make had some problems, maybe interrupted? Won't test
Running make install
Make had some problems, maybe interrupted? Won't install
///////////////////////////////////////////////
Net::FTP や LWP がしくじってる原因はわからんが
GP/PARI を自分で取ってきて自分でコンパイルすれば、たぶん行けるだろう
579 :
nobodyさん:2005/04/20(水) 19:04:30 ID:LU+xBsUr
Jcodeモジュールのインストールの際、makeで失敗します。
PerlのバージョンはPerl 5.8.2
LinuxはVineLinux 3.3.2です。
GNU Make 3.80
gcc バージョン 3.3.2
CPANからのインストールもtarからのインストールも同様に下記エラーメッセージ
がでてインストールできません。
ご教授おねがいします。
Writing Makefile for Jcode::Unicode
Writing Makefile for Jcode
==> Your Makefile has been rebuilt. <==
==> Please rerun the make command. <==
make: *** [Makefile] Error 1
/usr/bin/make -- NOT OK
Running make test
Can't test without successful make
Running make install
make had returned bad status, install seems impossible
lzh扱えるモジュールないっすか?
thx
やっぱり無いっすか。
583 :
nobodyさん:2005/04/22(金) 20:06:39 ID:a861lL+B
orz扱えるモジュールないっすか?
>>583 まずは札を積んでもらおうか。話はそれからだ!
質問です。
<img src=***>で張られた画像のサイズを取得するモジュールって
ないですか?
>>585 君のやりたいことがいまいちよくわからないが、以下のうちのどれだ?
a. HTMLの中から img タグの width と height 要素を切り出す
b. 画像の URL に http の head メソッドをかけて Content-size を教えてもらう
c. 画像のバイナリデータを読み込んで縦横のピクセル数を得る
やりたいことが c だとすると、LWP で画像をダウンロードしてきたのちに
GD とか ImageMagick とかに食わせるんだろうな
w ぇ っw
ぇけ ハァう w う
え る お う ww
と ァ w kw ぇ
っし のぉ ハ はw
588 :
nobodyさん:2005/04/23(土) 21:25:00 ID:nbVaG/If
乱数では無く、乱文(英数字をランダムに並べた物)が取得できるモジュールってないでしょうか?
お薦めがあったら教えて頂けると嬉しいです。
乱数を乱文に変換すればいいのでわ?
やはりモジュールがいいのか?
なんかみんなモジュールを魔法の杖だと思ってないか?
592 :
579:2005/04/24(日) 02:21:08 ID:???
自己レスです。
システム日付がおかしくなっていたのが原因でしした。
日付を直したところ正常にmakeできました。
593 :
nobodyさん:2005/04/24(日) 02:28:44 ID:WR/rL9mQ
杖で3回叩くと煙が出てくるモジュールってありませんか?
>>593 漏れの右手で3回こすると白い物が出ますが、このモジュールでよろしいか?
595 :
nobodyさん:2005/04/24(日) 12:44:28 ID:XJcjSE5K
>>594 すみません、ちょっと違います。
後、誠に言いにくいのですが、白い物が出るのが早すぎます。
596 :
585:2005/04/25(月) 12:28:03 ID:???
>>586 掲示板にイメタグで巨大な画像を貼られることを回避したく
if($img_width > 1024 or $img_width * $img_height > 786432){
&error("長辺1024px、短辺768px以内の画像にしてください");
}
なことをしたいので・・・2番かな。
アップロードされたほうは3番みたいな感じで処理しています。
597 :
585:2005/04/25(月) 13:03:58 ID:???
>>591 見落としてました。
ありがとうございます。
>591
うにしすの持ってるgifの特許は期限切れになったんで、開発して問題ない、はず。
599 :
585:2005/04/28(木) 10:00:39 ID:xqjwncUu
>>591 Image::Sizeじゃできない・・・
まあいまさらになって「俺はJPEGの特許を持ってる」と裁判起こし始めたやつもいるし
いつ何時サブマリン特許が浮上してこないとも限らないが
(やっぱアメリカの特許制度って腐ってるよな)
とりあえず現時点で Lempel-Ziv Huffman について既知の特許問題は無い
601 :
nobodyさん:2005/05/01(日) 22:53:31 ID:SgCZ2iZG
ファイル内でグローバルにシンボルを共有させるモジュありませんか?
パッケージ宣言するごとにインポートするのは面倒くさいです。
出来ればこんな感じで。
package A;
use aaa a => "GLOB"; # タイプグロブごと共有
$a = "AAAA";
@a = (split(//, $a));
%a = @a;
sub a () {$a}
package AAA;
print("$a @a %a\n");
print(a) while 1;
603 :
nobodyさん:2005/05/02(月) 00:19:08 ID:8JuiCVzy
my, our だと定数関数( sub hoge() {} )が共有できないのです・・・
604 :
nobodyさん:2005/05/02(月) 01:45:15 ID:EWD4DFmb
my $A = sub { $a };
とかだめですか?
605 :
nobodyさん:2005/05/02(月) 02:19:08 ID:8JuiCVzy
定数関数のままで使いたいので・・・
Exporterを使わない理由は?
それはそれとして関数は
*a = \&A::a;
とかでいけた気がするが。
608 :
nobodyさん:2005/05/03(火) 01:16:05 ID:caOmn6uQ
>>606 うむむ、それソースフィルタつかってますね・・・
ソースフィルタ使えばもっといいもの作れるのですが、
出来ればソースフィルタは避けたいところです。
>>607 Exporterはファイル内で宣言した別のパッケージ(useで直接指定不可)には使えません・・・
それに、@EXPORTに入れたシンボルは外部からモジュールを使うパッケージまでにも、
影響を及ぼしてしまうので、useで直接指定可能なパッケージ名を使ってもペケです。
(@EXPORT_OKは下記の理由でペケ)
>とかでいけた
パッケージ宣言するごとにインポートするのは面倒くさいです。
>>608 >Exporterはファイル内で宣言した別のパッケージ(useで直接指定不可)には使えません
使えるよ。Archive:Zipとか見てみな。
実のところ、現在のPerlではそれしか方法はないのでそうせざるを得ない。
%EXPORT_OK = ( _private => [ ... ] );
とでもするんだね。
610 :
nobodyさん:2005/05/03(火) 17:11:56 ID:Xf32EeHr
$hensu = substr(@wk_list[0],0,30);
半角、全角が混ざっている文字列(@wk_list[0])の中からsubstr関数
を使って先頭から30文字を抜き出した場合、30文字目が全角文字の
半分にかかると、文字化けをしてしまいます。良い方法はないでしょうか?
611 :
nobodyさん:2005/05/06(金) 13:15:54 ID:MRefnmPG
試してみましたけど、化けませんでしたよ。
↓試したコード
$_ = "あいうえおかきくけこさしすせソタチツテト";
$_ = substr($_, 0, 30);
print;
612 :
nobodyさん:2005/05/06(金) 16:03:27 ID:MRefnmPG
611 です。書き忘れてました。文字コードはsjisで試しました。
きみたちは天才だな
614 :
nobodyさん:2005/05/06(金) 16:42:32 ID:R4TT2qvR
615 :
nobodyさん:2005/05/06(金) 20:38:57 ID:B7UNGWre
さすがGW('A`)
>>610 fold.plもしくはJcodeモジュールのjfoldがお手軽かと。
618 :
nobodyさん:2005/05/09(月) 22:20:26 ID:orrUviAr
Excelの書式設定(色、斜体、太字など)をなんとか取り出せないかと
調べているのですが、どなたか方法はご存じでしょうか?
Spreadsheet::ParseExcel などを試してみたんですが、
値しか取り出せないようで、困っています。
ExcelのデータをXMLで保存して、それをPerlで解析するしかないのか?
と思ってるのですが……。
分かる方、ご教示お願いします。
>>618 マニュアルだとCellのメソッドでFormatがあって...というように
なってるっぽいけど試してみると用意されていません。でも解析
自体は行われていて適当に値は設定されているので、こんな感じで
いけるみたい。
use strict;
use Spreadsheet::ParseExcel;
my $oExcel = Spreadsheet::ParseExcel->new;
my $oBook = $oExcel->Parse('gaga.xls');
my $oSheet = $oBook->Worksheet('foo');
my $oCell = $oSheet->Cell(0, 0);
printf "value=%s\n", $oCell->Value;
printf "Bold=%s\n", $oCell->{Format}->{Font}->{Bold}? "true": "false";
printf "Italic=%s\n", $oCell->{Format}->{Font}->{Italic}? "true": "false";
printf "Color=%d\n", $oCell->{Format}->{Font}->{Color};
620 :
618:2005/05/10(火) 00:06:37 ID:???
>>619 ありがとうございます。さっそく試してみます。
Spreadsheet::Writeexcelのところにある
lexec.plってのがかなりいかしてるよ
622 :
nobodyさん:2005/05/25(水) 21:11:55 ID:Wia7J9Xq
Mail::POP3Clientつかってみて
ヘッダー情報みてみたら
From:あほあほ
しかないんですよ
メールサーバ側でエディタでメール読むと
From:あほあほ <example.com>
ってあるんですけど <example.com>はどこいったの?
623 :
考えて2日目。:2005/05/28(土) 02:44:42 ID:tg0DwACh
基本的な質問で恐縮です。
モジュールのインストール方法を教えてください。
ActivePerl PPM リポジトリでコマンドプロンプトから
ppm>install DBI
Unknown error at C:/Perl/site/lib/PPM/InstallerClient.pm line60
Error: connect: Unknown error
となって、コマンドプロンプトに戻ります。
どうなってんの?
ヒント FW(ノートン先生)や接続環境
625 :
考えて3日目。:2005/05/28(土) 13:24:56 ID:tg0DwACh
ノートン設定を無効、FWも無効。ネット接続環境は串使ってません。
それでも
Unknown error at C:/Perl/site/lib/PPM/InstallerClient.pm line60
Error: connect: Unknown error
となります。なぞ?
>>625 俺は PPM 使ってないからわからないんだが
エラーメッセージ様のおっしゃられる InstallerClient.pm の60行目周辺には何が書いてあるんだ?
629 :
nobodyさん:2005/06/01(水) 11:05:03 ID:fUYI7BlO
>>630 おお!激しくさんくす!
前バージョンだけど大きく前進しました
CPANにNet::MSNって似たようなのがあって
中身を見比べてみたかったんです
>URLをリンク先に持つページ
これでもう少しぐぐってみます
Class::DBI のトレース(DBI_TRACE)を解析してどんなSQLが
何回実行されているとか分析してくれるモジュールってないですか。
>>632 Class::DBIはよく知らんがへDBのアクセスはDBIを使ってたはずなので
DBIのプロファイラ使えるんじゃない? search.cpan.orgでDBI profile
あたりをキーに探すといくつか出てくるよ。
634 :
619:2005/06/10(金) 00:18:07 ID:???
HTML::Templateで<select></select>うまく扱えないのでしょうか。
>>635 HTML::Template通した後に、HTML::FillInForm通す。
637 :
635:2005/06/16(木) 15:54:34 ID:???
ImageMagickのバージョンは?
641 :
:2005/07/01(金) 17:25:37 ID:F0qNDlfi
HTML::FillInFormのサンプルありませんか?
使い方がよくわかりません onz.
643 :
:2005/07/01(金) 19:28:24 ID:???
>>642 ありがとうございます
FillInFormちょっとよくわからいんですが
<select>の値が同じだったら selectedにするような処理をしたかったのですが、
HTML::TemplateのLOOP使って、その中でIfでselected付けたりしましたが、
FillInFormでもできるのでしょうか
年月日のフォームつくるとき、今日の年月日と同じだったらselectedするような処理です
645 :
:2005/07/02(土) 13:54:58 ID:???
FillInFormってフォームからの値を受け取って
確認ページ表示するときに便利なモジュールですか?
確認ページ出すのには便利じゃないと思われ。
まあ、フォームのままでreadonlyとかにしとけばいいって話もあるけど。
647 :
:2005/07/08(金) 16:29:07 ID:GBMALmOB
HTML::Templateで多重ループがわけわかめ
誰かおしえて
648 :
647:2005/07/08(金) 18:25:03 ID:GBMALmOB
[HTML]
<TMPL_LOOP NAME=A>
<TMPL_VAR NAME=namae>
<TMPL_LOOP NAME=kazoku>
<TMPL_VAR NAME=kazoku_namae>
</TMPL_LOOP>
</TMPL_LOOP>
[PERLCGI]
my(@loop_data);
while(@namae) {
my %loop_member;
$loop_member{namae} = shift @namae;
$loop_member{kazoku} => [{ kazoku_namae => shift @kazoku }];
push (@loop_data , \%loop_member);
}
$template->param(A => \@loop_data);
これだと内側ループがうまくいかない
[PERLCGI2]
while(@namae) {
$template->param(A => [{
namae => shift @namae,
kazoku =>[{ kazoku_namae => shift @kazoku }],
}]);
}
これだと外側がだめ
わかんねーす
649 :
JAPU:2005/07/08(金) 21:31:26 ID:???
こにゃにゃちわ〜
$tmpl->param(A => [{namae => "Kinomoto",
kazoku => [{kazoku_namae => "Sakura"},
{kazoku_namae => "Touya"}]},
{namae => "Tsukishiro",
kazoku => [{kazoku_namae => "Yukito"}]},
{namae => "Daidoji",
kazoku => [{kazoku_namae => "Tomoyo"}]}]);
こんな感じになるようにコードをかけば幸せになれます。多分。
map を使うと綺麗に書けます。多分。
650 :
:2005/07/09(土) 00:47:42 ID:???
JAPUさんって本物?
とにかくありがとうございます!
651 :
nobodyさん:2005/07/12(火) 22:50:02 ID:fIbE4KUF
ActiveStateのPPMリポジトリって落ちてる?
pingは返ってくるのに、port 80へ繋ぎにいけないみたいなんだけど
652 :
651:2005/07/13(水) 12:14:36 ID:???
失礼、復活したみたい
しかしここ、ホント人いないね
#!c:\perl\bin\perl
use strict;
use CGI qw/:standard/;
use CGI::Carp qw(fatalsToBrowser);
$myself = $query->self_url;
print "<a href=\"$myself#table1\">See table 1</a>";
print "<a href=\"$myself#table2\">See table 2</a>";
print "<a href=\"$myself#yourself\">See for yourself</a>";
動きません。エラーメッセージを読んでもさっぱりわかりません。
そんなのが動いたら地球がひっくり返るでしょうね。
どこらへんからコピペしてるんですか?
とりあえず本屋に行って Perl の本でも読んでみれば?
参考書もないのに言語を学ぼうとするのは無理というものです。
Perlモジュール、特にCGI.pmのことが詳しく書いてある参考書で
お勧めはありますか?
659 :
658:2005/07/20(水) 14:51:50 ID:???
直近に同じの貼ってあった orz
perl もわからないのに CGI.pm を使おうとしている人は、
納期の迫った仕事だったりするのかな?
同僚や上司に迷惑かける前に、「ごめんなさい。できませんでした。」と
今のうちから謝っておいたほうがいいと思う。
>>660 そこで投げたらそこでおしまい。
若いんだったら、どんどん突き進んでみろよな。
責任は上司にふっかければ桶だから。
責任が取れない上司だったらそれを切れ。
迷惑するのは顧客なわけだが。
>>661 「投げる」のと「できないことを告げる」のは違うよ。
「時間がかかってもやってね(勉強になるから)」かもしれないし、
「そりゃこっちでフォローしなきゃ(時間がないから)」かもしれない。
もちろん仕事と関係なく勉強してるんなら がんばれー としか言えないのですが。
>>663 仕事と関係なく、趣味でPerlやってます。
やっぱり、仕事でプログラミングするとそんなに早く覚えるものですか?
なるほど、プログラマーはITドカタと陰口たたかれる理由もなんとなく
わかるような気がする。本当に心から、尊敬をこめて。
お疲れ様です。
なんだ、ドカタがいたのか。
>>661 上司に「間に合わないかもしれないです」という勇気は必要でしょ。
能力あるのにあちこちの会社を漂流してるような人はたいてい
コミュニケーション能力の欠如が原因だと思う。
納期前日なのに1行も書けてなくて、どうにもなんなくなって納期当日に
失踪しちゃうような人もいるし。
>>663 同意。
>>664 俺は趣味でやってる時の方が覚えが早かったな。
ただ知的好奇心で突っ走ってれば良かったからね。
フリーのプログラマだけど、、スケジュール管理さえちゃんとできれば
気楽な仕事だよ。気が向いた時にコード書いて納期はきっちり守って
あとは遊んでればいい。
>>664 仕事のほうが早いかどうかは人によるかな。
趣味だと完成前に投げちゃう可能性があるから。
きちんと完成させることが出来るなら趣味でも問題ないっしょ。
あと、他人のコードを読んだり、他人にコードを読んでもらえるのが
仕事のいいところかな。
(もちろん、しょぼいトコだと仕事でもそんなことしてなくてダメだけどさ)
Perlのコードを学ぶなら、そのへんのCGI入門っぽいのは読まずに、
CPANのコードを読んだほうが良いです。
僕は子供の頃からプログラムを書いてたのであれだけど。。。
外国語よりプログラム言語各種のほうが憶えが早い(w
> 外国語よりプログラム言語各種のほうが憶えが早い(w
それが IT ドカタクオリティ
669 :
nobodyさん:2005/07/24(日) 18:48:03 ID:YrpT3vg+
ITドカタカコイイ
670 :
nobodyさん:2005/07/24(日) 18:54:11 ID:susTSjTy
何か、血液ガッタガタみたいだな。
CGIモジュールの詳しい説明してある、本とかないもんかね。
わざわざ日本語に訳してる暇人がいるのに、英語なんか読むわけないよな。
って言いたいところだが、糞訳大杉。
ぜひテメエが訳しやがれ
>675
>674氏は、原文を読めと言いたいのだと思われ
自分で読める人は、頼まれもしないのに他人のために翻訳しないというジレンマだな
誰かがお金で解決してくれるのを待つしかない
Net::Trackback を管理者権限なしで動かすにはどうしたらいいの?
レスキューのブログCGIを試してるんだけど、レンタルサーバー屋さんが NET::Trackback をインストールしてくれなかった・・・。
>レンタルサーバー屋さんが NET::Trackback をインストールしてくれなかった・・・。
「サーバーを変える」と言え
まあトラックバックスパムの温床だからなあ > Net::Trackback
${HOME}以下にインストールできないの?
だめでした。
Class::ErrorHandler が要るって言われて、それを入れようとしたら
su じゃなきゃだめって感じでした。
だから、${HOME}以下にインストールできないの?
>682
Classほげほげ一式をユーザ権限で手入れするのは至難の業でしょ
できなかないだろうけど、本人には出来ないから聞いているのだと思われ
つか、Net::Trackbackなんてのあるんだね。試してみよう。d
> Classほげほげ一式をユーザ権限で手入れするのは至難の業でしょ
そうなの?頭悪いと大変なんですね。
>>684 まったくだ。cpan の使い方も知らんのか(´Д`)ハァ...
cpan使うときに最初に聞いてこなかったっけ?>CPANモジュールのインストール先
>686
CPANベースでやろうとすると>681になると言っているのでは?
>684-685
2chらしい反応をどうも。
どうせ俺はcpanflute2くらいしか使いませんよ。ケッ
そんなウンコなのより、dh-make-perl が便利かと。
>688
デブ嫌い。
>>689 どーせ使ったこともないのに嫌いとか言ってるんでしょ?
俺はデブ厨は嫌い。デブは良いディス鳥だと思うけど、デブ厨は厚かましいことこの上ない
このスレは、「Perlモジュールについて」であって、藻前のデブ厨嫌いを
主張するスレではないですよ。
Image::Magickに関して質問です。
ブラウザ上で簡単な画像処理(リサイズ・回転・リネーム程度)を行うCGIを作ったんですが、
デジカメ画像をそのままUPしてしまうと解像度が高すぎるので(WEBギャラリー用なので)、
解像度を下げるための処理を加えようと思うんですが、どうにも上手くいきません。
Set()でdensityを使えばいいのかな?と↓としてみましたが、
$image->Set(density=>'72x72');
上手くいきませんでした…
やりたいことは、画像の解像度を144→72にしたいのですが…
どなたか分かる方いらっしゃいませんか?
scal;eで50%にすればいいだけでは。
>>696 自分の書き方が良くないですね。すいません。
画像の大きさ(縦x横のサイズ)はそのままに、ファイルサイズのみを小さくしたいんです。
Photoshopだと「WEB用に保存」ってあるじゃないですか。
そんな感じにしたいんですけど…。
Strip()を使おうとするとエラーになるし…使い方が悪いのかな?
>>697 通常”解像度”を144→72にすると、1/4サイズになる。
すなわちリサイズのようなもの。
希望する処理は”圧縮率”で画像サイズを縮小することでは?
$image->Set(quality=>50%);
699 :
698:2005/09/06(火) 17:33:46 ID:???
↑ ”%"いらないかも
700 :
697:2005/09/06(火) 17:34:40 ID:???
すいません。自己解決しました。
$image->Profile(profile=>undef);
でカラープロファイルを削除することで上手くいきました。
解像度もちゃんと72になりました。
参考サイトの「ICC」とか「画像プロファイル」の意味が分からず、
ずっとProfile()をスルーしてた…
もっと勉強してきます…orz
勉強不足で恐縮なのですが、ご教授いただければ幸いです。
PPMにてinstall time-hiresのコマンドを実行しますと
PPM
install time-hires
Error:500 can't connect to ppm.Active state.com:80(connect:Unknown error)
とエラーになってしまいます。
>625氏同様に、ノートン設定とFWは無効にしました。
串については、CyberSyndromeなどで何箇所か変更してみましたが
状況は変わらないようです。
一端でも構いませんが、解決策をご教授いただければ幸いです。
レポジトリーしらべれ
dh-make-perl の rpm 向けない?
cpanflute* とかじゃなくて、もっとマトモな奴。
モジュールのインストールがこんなに難しいとは…。
とりあえずPerlコーディングスレから移動するとかいたので経過だけ。
一度Perlのバージョンを5.6に落としてみる、が改善せず。
再び5.8に戻して、再度cpanでDBIとDBDとMysqlインストールを試みる。
でるエラーはずっと同じで、
Can't locate loadable object for module DBI in @INC (@INC contains: C:/usr/lib C
:/usr/site/lib .) at C:/usr/lib/DBI.pm line 254
BEGIN failed--compilation aborted at C:/usr/lib/DBI.pm line 254.
もう今日は疲れたよパトラッシュ…。
>>706 ん? WIn32ならppm使えば?
ま、とにかくそれはDBIが入ってないっていうエラーだから、最初にDBIを入れなされ。
>>706 オレのパソコンでは、ちゃんと動いたけど。
C:\WINDOWS\system32>ppm
PPM - Programmer's Package Manager version 3.1.
Copyright (c) 2001 ActiveState Corp. All Rights Reserved.
ActiveState is a devision of Sophos.
Entering interactive shell. Using Term::ReadLine::Stub as readline library.
Type 'help' to get started.
ppm> install time-hires
====================
Install 'time-hires' version 1.49 in ActivePerl 5.8.6.811.
====================
Downloaded 11650 bytes.
Extracting 9/9: blib/arch/auto/Time/HiRes/HiRes.lib
Installing C:\Perl\site\lib\auto\Time\HiRes\HiRes.bs
Installing C:\Perl\site\lib\auto\Time\HiRes\HiRes.dll
Installing C:\Perl\site\lib\auto\Time\HiRes\HiRes.exp
Installing C:\Perl\site\lib\auto\Time\HiRes\HiRes.lib
Installing C:\Perl\html\site\lib\Time\HiRes.html
Files found in blib\arch: installing files in blib\lib into architecture depende
nt library tree
Installing C:\Perl\site\lib\Time\HiRes.pm
Successfully installed time-hires version 1.49 in ActivePerl 5.8.6.811.
ppm>
ドキュメントも読まないで苦労するって、見ていてかわいそうだ。
頭悪いと損だね。
>>709 頭の悪そうな書き込み乙。
要領が悪いだけでしょ。
明らかに正の相関
>>706 マジレスすると、
そのエラーは実行時のエラーであって、それを100回眺めてもクソの役にも立たん。
それよりインストールの途中でエラーが出てるはずだ。そっちを晒せ。
>>707,708
レスサンクス
もちろんPPMもやったけど、
Error: neither 'HKEY_LOCAL_MACHINE/SOFTWARE/ActiveState/PPM//InstallLocation' no
r 'HKEY_CURRENT_USER/SOFTWARE/ActiveState/PPM//InstallLocation' found in registr
y at C:\usr\bin\ppm line 16.
レジトリにはこんなキー存在してないです。
再インストールしてもやっぱりダメだった。
>>713 確認だが、ActivePerlをインストールしたディレクトリは「C:\usr」なんだよね。
ActivePerlを「C:\Perl」などにインストールしておいて、ppm.batを「C:\usr\bin」
にコピーしたりなどしてないよね?
>>714 上書きインストールではダメだったようで、アンインストールして、レジストリも消して、再インストールしたら素直に動いてくれました。
何やってたんだろ、一体orz
楽するためのモジュールなのに頭悪いと大変なんだね
悩んだり考えたりするのが面白いのにね
>>717 頭悪いと、そういうことが面白くなっちゃうんだね。かわいそうに。
高級車を乗り回すか、高級車の持ち主にこき使われて整備するか・・・。w
「整備」ができれば、まだいいんだろうけどね。
>>713 の C:\usr\bin\ppm
を見て意味の解らない人間が、PPM を使わずにインストール
しようというのは、オイル交換の仕方が解らない人間がエンジンの
分解掃除にチャレンジするようなもんだわ。
>>719 それはすごい頭の悪そうなチャレンジですね。
use Head;
別に頭は悪くても桶。うまく使えればそれでいい。
使えないやつ多すぎ。
no Head;
>>721 no Head; さん、
あなたの頭の悪さを表しているのですか?
煽り勝ったって頭がいいことにはならないんだからね。
>>724 ところで、頭がいいか否かについては、どうやって評価するの?
いいかどうかなんてのはどうでもいい。
悪い悪いと自分の頭の悪さを露呈させている奴は上にいるけどね.
>>726 その頭の悪さとやらを露呈したところで、何か問題でも?
>>703 ちょっと感じが違うけどcpan2rpmとかは?
cpanflute結構まともだと思うけどな
>728
俺もcpanflute2で十分足りると思うが
即玉にできないモジュールは、広げてspec手で修正すればよいのでは?
>725
俺、アタマいいって言われるのすごい苦手なんだけど。
俺をよく見てみろ、俺がアタマよかったらもーちっとファッションセンスあるだろって感じ
自分に無いものを持ってる人は良く見える
自分にあるものを持ってない人に対して、馬鹿にするのは簡単だけど、
そいつは自分も馬鹿だってことを忘れているんだよ
スレ違いなのでこのへんで
自分もよくワカラン。
>708みたいに鯖にあれば一発で楽チンなんだが
PPMの鯖
buildごとにパッケージ内容が異って
最新のActivePerlでは800〜ビルドでは置かれていないアーカイブ
あって困った
600〜のアーカイブには存在している
600〜の置き場から落としていれようとしたけど
readmeには
To install this ActiveState PPM package, run the following command
in the current directory:
ppm install HTML-Format.ppd
すればいいと書いてあるけど
ローカルのppd無視して鯖探してないよっていわれる
ローカルからのパッケージインストールは
出来ると思うんだけど(そうゆうページを見てもドキュメント見ても)
PPMでローカルから手動でパッケージ入れるには
どうすればいいんだろ
詳しい方いたら教えてぽしいす。
無理やりおくか定義すれば使えるけどなんか辛いす。
一式綺麗にインストールしたいんですが
Spreadsheet::ParseExcelつかって、CGIでアップロードしたExcelファイルを
いろいろ処理しようとしているんだけど、
ParseExcelって、ローカルのファイルしか入力できないようですね。
アップロード、binmodeで変数化したExcelデータをParseExcelに入力できる
方法ってどなたかご存知ないでしょうか。
>>732 テンポラリファイルにして parse すれば問題ない。
XML::RSS::LibXML をインストールしようとしているのですがどうしても上手くいきません。
cpan> install XML::RSS::LibXML とすると、
make had returned bad status ... と返されてしまいます。
同時に導入した LWP::Simple のほうは、
Perlの短いプログラムでテストした結果、問題ないようです。
OSは、主にFreeBSD 5.4 を使用していますが、Fedora Coreの1と4でも同じ状態でした。
いろんなキーワードで検索してみたんですが有効な情報を見つけられませんでした。
ちょっとしたことでも構いませんので、お気づきの点などありましたらお聞かせください。
>>734 よくわからんがmakeの過程でいろいろメッセージ出てないのかね?
いきなりinstallコマンド打った直後のメッセージがそれ?
>>735 cpan> install XML::RSS::LibXML とすると、
Compilation failed in requirement at (eval 3) line 2.
Can't locate object method "new" via package "XML::RSS::LibXML" at t/synopsis.t line 11.
というようなメッセージがでます。
make test が上手くいっていないようです。
モジュールの依存関係が問題なのかと考えましたが、
XML::RSS::LibXML
XML::LibXML::XPathContext
XML::LibXML
XML::LibXML::Common
XML::SAX
XML::NamespaceSupport
それはインストール中に認識されているようなので関係ないでしょうか・・・?
何か他に必要なモジュールがあるんでしょうか。
以下についてはすでに入っています
/bin/gzip, /bin/tar, /usr/bin/unzip, /usr/bin/make,
/usr/bin/wget, /usr/bin/ftp, /usr/bin/gpg, /usr/bin/less, /bin/bash
lynks, unzip, wget (ncftpget, ncftp, gpg はありません)
737 :
nobodyさん:2005/10/18(火) 00:17:11 ID:Gt+1jsdc
すんませーん
BEGIN { unshift @INC, 'CBC.pm' }
use CBC;
は、おkだけど
use Crypt::CBC;
てーのは出来ないんですね(つд`)何とかなりませんか?
740 :
nobodyさん:2005/10/19(水) 01:27:07 ID:d5KjvHKX
>>738 ありがと
つまりだめというわけですかい(´・ω・`)
741 :
nobodyさん:2005/10/19(水) 01:39:58 ID:d5KjvHKX
BEGIN { require Module; import Module LIST; }
かな?
>>737 >>740-741 perl は do EXPR、require、use によってライブラリファイル取り込む際、
特殊変数 @INC に定義されている*ディレクトリ*の中を探す。例えば
@INC = qw(/usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.7 .);
require 'jcode.pl';
なら
/usr/local/lib/perl5/site_perl/jcode.pl
/usr/local/lib/perl5/5.8.7/jcode.pl
./jcode.pl
の順に探し、見つかったものを読み込む。
また use Text::Soundex; は
BEGIN { require 'Text/Soundex.pm'; Text::Soundex->import() } に等しい。
つまり実際のライブラリファイルは Soundex.pm で、
/usr/local/lib/perl5/site_perl/Text/Soundex.pm
/usr/local/lib/perl5/5.8.7/Text/Soundex.pm
./Text/Soundex.pm
のいずれかに存在すれば読み込まれる。
という内容の事が示されたページに書いてある。
737 の上の例がうまくいくのは @INC に 'CBC.pm' を追加したからではなく、
@INC には既に . (カレントディレクトリ) が定義されていて、./CBC.pm を
探して見つかったから、だろう。
以上から Crypt::CBC を use したければどうすればいいか考えてくれ。
743 :
nobodyさん:2005/10/20(木) 02:49:13 ID:iTD4Osnd
744 :
nobodyさん:2005/11/01(火) 09:33:56 ID:8D+tezzN
perlモジュールを勉強しようと思い、とりあえず色々なサイトに
書いてある"ppm"を実行したら
C:\Perl\bin>ppm
'C:\Perl\bin\ppm3-bin' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
…と出て、いきなり躓いてしまいました。どうしたら良いのでしょうか?
環境はActivePerl(build 813)/Win2kです。
745 :
nobodyさん:2005/11/01(火) 10:14:46 ID:8JRsY8IB
>>744 (1)c:\Perl\bin に
ppm3-bin (拡張子なし)
ppm3-bin.bat
ppm3-bin.cfg
はありますか?
(2)c:\Perl\bin にpathは通っていますか?
746 :
744:2005/11/01(火) 11:15:50 ID:???
>>745 (1)3つともあります
(2)通ってます
>>746 原因がよく解りませんが、レジストリが壊れている可能性があると思います。
ppm3.bat
を実行すれば、ppmと入力した場合と同様に動作すると思います。
CGI::Application::Pluginおもすれー
kwsk
CGI::Application使いはじめてからこれ使わないとCGI書くのが面倒になった
PluginはTTのやつが良いよね
>>750 CGI::Application::Dispatchは使ってる?
CPANのじゃないけどどっかで拾ったDispatchみたいなPlugin使ってる
偶然見っけたやつなんでどこか忘れたw
>>751 Dispatch使うなら、さらにCGI::Application::Dispatch::BuildURIってのもあるでよ。
Catalystおもすれー
755 :
ryu:2005/11/17(木) 11:19:48 ID:???
Date::CalcモジュールとDBIモジュールを
インストールしないでuse lib でパスを通して
(libディレクトリを作ってそん中に、Calc.pmなどを突っ込んで)
使用する方法はありますでしょうか?
レスポンス遅くなったり、どんな強引なやり方でもいいのでお願いします;
開発工数をなるべく少なくしたいのです。
環境はWin2k ActivePerl5.8.7です。
757 :
ryu:2005/11/17(木) 11:51:07 ID:???
>>756 ソースありがとうございます!
ソース中に
>>pmファイルを探し、対応するディレクトリにコピーします。
DBIのように何も修飾しないもの :当該ディレクトリの直下に置きます
DBD::CSVのように修飾されているもの:"DBD"というディレクトリを作って、その中に入れます
とあったので、Calc.pmを htdocs\work2\lib\Date\Calc.pm
DBI.pmを htdocs\work2\lib\DBI.pm
のように、押し込み、コード中に
#!/usr/loca/bin/perl
use lib 'lib';
use Date::Calc;
use DBI;
とインポートしようとしただけで、エラーが出てしまいます。エラー内容は下記のとおりです。
[error] [client 127.0.0.1] Premature end of script headers: test.cgi
[error] [client 127.0.0.1] Can't locate loadable object for module Date::Calc in @INC (@INC contains: lib C:/usr/local/lib C:/usr/local/site/lib .) at C:/Program Files/Apache Group/Apache2/htdocs/work2/test.cgi line 5\r
[error] [client 127.0.0.1] Compilation failed in require at C:/Program Files/Apache Group/Apache2/htdocs/work2/test.cgi line 5.\r
[error] [client 127.0.0.1] BEGIN failed--compilation aborted at C:/Program Files/Apache Group/Apache2/htdocs/work2/test.cgi line 5.\r
[error] [client 127.0.0.1] File does not exist: C:/Program Files/Apache Group/Apache2/htdocs/favicon.ico
ちなみにプロンプトでperl -le "print join $/, @INC"と打ったら
perl -le "print join $/, @INC"
'usr/local/lib
'usr/local/site/lib
と出ていました。ご教授お願いしますm(__)m
759 :
ryu:2005/11/17(木) 12:30:03 ID:???
>>758 やっぱ無理なんですね、諦めます。ありがとうございました。助かりました^^
ところで、インストールせずに使える、日付を処理できるモジュールってありますでしょうか?
なぜインスコしたくないのかおじさんに教えてくれw
コマンドラインが嫌いなのかい?
多分、レンタルサーバか何かで、自分で勝手にインストールできないんじゃないの?
インストールしなくても,pmファイルをrequireで良いんじゃないの?
m9(^Д^) プギャー
windowsのレン鯖か。正気じゃないな。
>>762 環境はWin2k ActivePerl5.8.7って事はローカルだとおじさんは思うのだがw
LWPで他ウェブを読む関係の質問はここでよいでしょうか?
768 :
767:2005/11/29(火) 11:33:59 ID:???
返事も待たずに投下。
セキュリティ強固なサーバーにリモートアクセスをしたい。
そのサーバーでは、ログイン画面に毎回異なる値がhiddenでセットされ、名前、パスワードと共に送信してログインする。
cookieによってブラウザを閉じるまでログイン状態が継続される。
てことで、
1. 一度getでアクセスし、hiddenのセット文字を取得。
2. uaにcookie_jarを準備。
3. 取得した文字列と、名前、パスワードをポスト。
てなことをやったわけですが、ログインできず。
何が悪いのか、オリジナルのログイン画面から情報を少しずつ削除して、ダミーのログイン画面を作って試したら、
<input type="sumit" value="ログイン" name="LoginButton">
の name="LoginButton" を削除するとログインできないことが判明しました。
submitボタンの名前って、どうやって渡したらよいのでしょうか?
>>768 普通に渡せばいいじゃん。
とりあえず、自分でテスト用の CGI 作って試してみればいいのに。
770 :
767:2005/11/29(火) 13:18:15 ID:???
普通? ふつう? ・・・ほへ、ふつう!
ああ、ふつう、なるほど、ふつうだ。わはははは。
なんか特別なことがあるのかとおもた(w
しかし、なんでこんなめんどくさいセキュリティかける必要があるんだろ。
こちらは名前とパスワード知ってるわけで、結局「突破」して、
いちいちログインでず、オートで結果を取得できるようになりました。
ありがとうございます。
<input type="hidden" name="money" value="100万円">
<input type="hidden" name="do" value="振込">
<input type="submit" value="ここを押してね♪">
こういった事を防ぐための一環
772 :
767:2005/11/29(火) 15:32:29 ID:???
ああ、めんどくさいセキュリティというのは submitのname のほうじゃなく、
>ログイン画面に毎回異なる値がhiddenでセットされ
のほう。
name="__VIEWSTATE" value="/qwWegfaEEEGFgwGEeEqEweouBFwgo....... とか
Windows系のサーバーでは、こういうのが流行ってるんですか?
セキュリティというより、アプリケーションの仕様なんじゃないの?
__VIEWSTATE とう名前からして、見るからに何かの情報を持ってそうだし。
>>772 AUの強力バカキャッシュ対策だったりしてな〜
775 :
771:2005/11/29(火) 18:23:49 ID:???
私も
name="__VIEWSTATE" value="/qwWegfaEEEGFgwGEeEqEweouBFwgo.......
こういうのを指して言ってるんですよ〜
要は外部から予測できる要素だけ並べて意図しないsubmitを避けるためです。
だからセッションをクッキーに持っている場合でも重要な選択の場合は
わざとセッションIDをhiddenに埋め込んでチェックしたりします。
これ系で一時期hotmailで他人のアカウント乗っ取れる問題が発生しましたね。
他の意味がある場合も大いに考えられますが。
>>771 用事済んだならクダクダ続けんなよ。スレタイ嫁。
778GET!
778 :
nobodyさん:2005/12/01(木) 21:42:42 ID:j9W4RmZX
Windows XPとPerl5.8です
CPANモジュールを使うのに必要らしいとBorlandのCコンパイラをインスコしました
そんで入れたかったCrypt::Rijndaelモジュールをinstallしようと
C:\> perl -MCPAN -e shell
cpan> install Crypt::Rijndael
とやると
> 'cl' は、内部コマンドまたは外部コマンド、
> 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と怒られました
clはVisualC++のことみたいなんで
とりあえずConfig.pmのCコンパイラの指定を
cc => 'bcc32.exe',
に変えてみました(パスは通ってます)
その後makeをnmake.exeから
BorlandのCコンパイラについてきたmakeに指定し直したりしてみたんですが
Redefinitionだのfatal errorだのどうしてもエラーが出ます
Windows XP+Perl5.8の環境でCrypt::Rijndaelをインスコする方法を教えてください
というか誰か試しにやってみてください。。
>>778 解決したみたいだけど、ActivePerl使ってるならBorlandのCコンパイラは使えなかったと思うヨ。
Borland Cを使いたいなら、Borland CでPerlをmakeすべし。
>>780 あーなるほど、そこからやらなくちゃいけなかったんですか
色んな解説サイトにWindowsでCコンパイラが無料公開されてるからと
Borlandにリンクが張ってあったんでてっきりそのままいけるのかと
ありがとうございます
>>780 ActivePerlでもBCC使えるよ。いろいろ面倒だし、フリー版VC++のほうがラクダからそっちお勧めだけど、
俺はVC++のフリー版が公開される以前はBCC使ってた。
fyi.
> 要は外部から予測できる要素だけ並べて意図しないsubmitを避けるためです。
詳細は CSRF でぐぐると幸せになれます。
ここ半年くらいで急に騒がれるようになりましたね。
>>782 あれ、そうなんだ。ヘッダとかいろいろナニな感じだったので駄目かと思ってました。
失礼しました
>>778 ところで、VC++のフリー版ってオプティマイズがきかないとか何かあるんだっけ?
単にコンソールなだけ?
Canadian Sex Research Forum ゆうのがひっかかりますた > CSRF
最近perlに手を出した者ですが、
windows XPでactiveperl5.6.1.638をインストールし、GDモジュールとGD::Graphをインストールしたのですが、
use GD;
でpngでの図形描写は可能なのですが、
use GD::Graph::lines;
といったグラフ描写でエラーが起きてしまい、作動しません。
一応lib/GD/Graph/lines.pmとインストールされているはずなのですが・・
use GD::Graph::lines;を宣言しただけでもエラーが出てしまうのです。。
なにか原因わかりますでしょうか??
エラーメッセージ見ないとわからんよ
エラーメッセージについてなのですが、一瞬しか表示されないのでまったくわからないのです。
なにか他に表示される方法をご存知であれば教えていただきたいのですが。。
現在のところppmを使わず手動インストールでも同じ状況で困っています。
5.8にもしてみましたが、無理でした。
よく調べてみたらGraph.pmの内部でuse GD::Text::Align;があり、
GD::Textをインストールしてなかったのでここでエラー起こしていました_| ̄|○
お騒がせしました(ノД`)
GDの話題が出たので便乗ですが、
ActivePerl5.8.7にppmからGDがインスコできません。インストールに失敗します。
同じ環境でできた方はいらっしゃいますか?
出来ないのですね…
ありがとうございました
thoeryx5にはあるねぇ。
>>796 theoryx5.uwinnipeg.ca = The University of Winnipeg だし…。
個人的には Bribes de Perl のリポジトリが元気なのでお勧め。
WinXPにText::Kakasiをインストールしたいのですが失敗してしまいます。
ttp://www.daionet.gr.jp/~knok/kakasi/ ここにあるアーカイブ内のReadMeにしたがって、Makefile.plを実行してみたのですが、
幾つかライブラリファイルが足りないようで、エラーを起してしまいます。
CPAN経由でもインストールを試してみたのですが、同じくエラーでした。
どなたがご教示願います。
789 nobodyさん sage 2005/12/03(土) 17:31:08 ID:???
エラーメッセージ見ないとわからんよ
800 :
nobodyさん:2005/12/08(木) 07:08:05 ID:Mfft2Crc
セッション管理をしたいのですが、みなさんは
どのモジュールを使っていますか?
>>800 CGI::Session とかそういう話か?
802 :
798:2005/12/08(木) 16:31:25 ID:???
C:\download\Kakasi\kakasi\Kakasipm>Makefile.PL
Note (probably harmless): No library found for -lkakasi
Note (probably harmless): No library found for oldnames.lib
Note (probably harmless): No library found for kernel32.lib
Note (probably harmless): No library found for user32.lib
Note (probably harmless): No library found for gdi32.lib
Note (probably harmless): No library found for winspool.lib
Note (probably harmless): No library found for comdlg32.lib
Note (probably harmless): No library found for advapi32.lib
Note (probably harmless): No library found for shell32.lib
Note (probably harmless): No library found for ole32.lib
Note (probably harmless): No library found for oleaut32.lib
Note (probably harmless): No library found for netapi32.lib
Note (probably harmless): No library found for uuid.lib
Note (probably harmless): No library found for ws2_32.lib
Note (probably harmless): No library found for mpr.lib
Note (probably harmless): No library found for winmm.lib
Note (probably harmless): No library found for version.lib
Note (probably harmless): No library found for odbc32.lib
Note (probably harmless): No library found for odbccp32.lib
Note (probably harmless): No library found for msvcrt.lib
Writing Makefile for Text::Kakasi
このようなエラーがでてしまいます。
よろしくお願いします。
804 :
798:2005/12/08(木) 17:13:34 ID:???
レポジトリの追加で、インストールがうまく行きました!
ありがとうございました。
XML::RSSについてですが、
perldoc.jpにはRDF0.9/0.91/1.0に対応と書いてありますが、実際にバージョンを2.0を指定しても正しく出力できてしまいました。
2.0にも対応しているのでしょうか?
807 :
800:2005/12/10(土) 18:23:08 ID:PBwMWqJ6
>>801 そうです。
オススメは CGI::Session ですか?
Catalystについてくあしく頼む
>>809 あれはあれだけで専用スレを1本使ってしかるべきモノだが
残念なことに専用スレを維持できるだけのユーザがこの板にはいない
RubyのR on R
Perlのそれ
つよーいフレームワークなんでしょ?
使いこなせない気が
RoRとは似て非なるモノだよなぁ。
RoRはフルスクラッチっぽいのに対して、CatalystはCPAN使いまくりだし。
あと、フレームワークとしては制限がゆるくて(Perlらしいっちゃそれまでだが)
フレームワーク on フレームワークじゃね?とも言われてる。
らしい。
<TABLE>
<TR>
<TD>
text1a
</TD>
<TD>
text1b
</TD>
</TR>
<TR>
<TD>
text2a
</TD>
<TD>
text2b
</TD>
</TR>
</TABLE>
こんなHTMLがあるとして、
text1a text1b
text2a text2b
見たいな出力が得られるモジュールありませんか?
HTML::TableContentParser
816 :
:2006/01/19(木) 20:34:43 ID:???
LWP の質問はここでいいでしょうか?
HTTP経由でのファイルのレジュームダウンロードをしたいのですが、LWPでできるorどうやればよいのでしょうか?
http://search.cpan.org/~gaas/libwww-perl-5.805/ をながめているのですが、$ua->request に $read_size_hint という引数があるようなのですが、これでしょうか?よくわからんです。
Net::FTP だと $ftp->get で WHERE という引数を渡せるらしく、
これでレジュームできそうだとわかったのですが、HTTP の場合がよくわからないれす。
wgetではだめなんでしょうか?
820 :
nobodyさん:2006/01/26(木) 01:10:57 ID:zwbCIVWY
HTML::Parser と HTML::Treeどっちが使いやすいかな? 掲示板を読み込みたいので
テーブルを探してその中からタイトル、名前、記事番号、本文など切り出してということを
したいのだがどっちがいいか迷っている。
HTML::TableExtract(HTML::Parserを使ってる)がいいかなと思ったけど、 そうやって取り出した
テーブルの中身もHTMLだからそれもさらにパーズしなきゃなんないし。
皆さん、モジュールってどうやって探してますか?
Cpanの検索じゃ、モジュールの名前で検索することになるので、
いま一つ漠然とした要求の場合はなかなか目的のモジュールを見つけにくいのですが…。
ああ!トップページのはモジュールのカテゴリだったんですか…気付いてませんでした…
ほんとうにすみません。
>>820 繰り返しとかがあるはずなので、Template::Extract。
>>820 テーブルならHTML::TableExtract。
826 :
nobodyさん:2006/01/26(木) 20:53:01 ID:l4iXtisY
散々既出かもしれませんが、
htmlの指定したタグだけ残して、実体参照に変換するようなモジュールありませんか?
ようするに、掲示板とかでよくある使用可能タグみたいなのやりたいんですが
827 :
nobodyさん:2006/01/26(木) 21:55:52 ID:l4iXtisY
828 :
nobodyさん:2006/01/26(木) 21:59:01 ID:l4iXtisY
829 :
820:2006/01/26(木) 22:46:28 ID:zwbCIVWY
>>825 よくよく見たらTableExtractってテーブルの中身をHTML::Elementのツリーとしても
抽出出来るのですね。 これでいってみよ。
>>820 解析対象が掲示板とかブログとか、
一定のパターンで構成されているなら、
Template::Extract が圧倒的に便利と思われ。
ちなみにベタに HTML 解析する場合漏れは HTML::TokeParser 使ってる
831 :
820:2006/01/27(金) 23:21:34 ID:???
>>830 あ、これすっごく良さそうですね。 HTML::Treeを使ってしこしこ書き始めて見たんですが
保守性も柔軟性も全然なさそうなコードになりそうでどうかな〜と悩んでました。 これ
試してみます。
832 :
820:2006/01/28(土) 19:15:52 ID:???
>>830 むずい… 簡単なサンプルは素晴らしいのですが実際に読みたいHTMLを食わせようとすると
CPU100%になって逝ってしまいます。 入れ子になっているテーブルを読もうとしてるのですが、
現在機能しているテンプレで
<table[% ... %]><tr>[% nakami %]</tr></table>
となっているところを
<table[%...%]><tr><td[%...%]>[% nakami %]</td></tr></table>
と書き換えたけで無限ループになってしまう。 生成された正規表現なんて
全然読めない(TT)。 可能性はすばらしいのになあ。。。
>>832 つ スタイルシートでタグの中をすっきり
ちょっと複雑な構文や大きなデータを食わせるとTemplate::Extract遅すぎて話にならなかったような・・・
結局どうループしてるかを読み取ってHTML::Treeで$base.".1.2.0"とかやって処理したことがある。
>>835 isizeの賃貸住宅情報のHTMLを読んで25〜100件のループを回す感じ。
それぞれのアイテムに間取り図があったり無かったりで分岐したりしたはず。
25件でも30分くらいかかって諦めた。テンプレートの書き方も良くなかったのかもしれない。
しかし、考えてみたら2年前の話だった。すまん。
今はこのくらい余裕でこなせるようになっているのかな?
>>836 isizeの賃貸住宅情報のHTMLが何なのかよくわからんちん。
まあ、これだけ人に説明するのが下手くそなら
プログラムも下手くそだろうと予想がつく。
839 :
nobodyさん:2006/02/02(木) 08:24:22 ID:H/Sy3Nl6
ActivePerl5.8でのImage::Magick.pmのインストールについて質問です。
ImageMagick-6.2.5-.....をインストールすると、自動的にActivePerl内の
適切なフォルダにImage::Magickをインストールしてくれるそうなんですが、
どうしてもしてくれません。demo.plを実行しても
Can't locate Image::Magick in @INC...
と出ます。環境変数のパスが通っていないのかと思ったのですが、
ActivePerlのディレクトリ内を検索するとmagick.pm自体が
ありませんでしたので、バイナリを入手してインストールされるはずの場所に
解凍してdemo.plを実行するとCan't locate loadable object for module
ImageMagick in @IMC...と出て行き詰ってしまいました。
PPMでImage::Magickは見つからなかったのでバイナリをインストールしたのですが・・・。
どなたか良い方法を教えてください。
841 :
nobodyさん:2006/02/02(木) 10:37:32 ID:5C1O5YGU
>>840 C:\Perl\bin>ppm install http://www.bribes.org/perl/ppm/Image-Magick.ppd
で出来ました
839じゃないけどありがとん
早速の御返答ありがとうございました。
ppmでのWinnipegからのDateTimeインストールもやってみていたのですが、
なぜかActiveStateのHTMLソースがコンソールに表示されてしまい出来ないものと諦めていました。
WinnipegのRepository優先度を上げて、ActiveStateをオフにすることによって、
きちんとインストールすることができました。
845 :
839:2006/02/02(木) 20:22:16 ID:???
>>840 やった、できました。確かに成功したしたとのメッセージが出たのですが
demo.plを実行すると
Can't locate auto/Image/Magick/ContrastStr.al in @INC...
とでてしまいました。このファイルが無く、ContrastStretch()が使えない
ことになると思うのですが、これでいいんでしょうか。
この関数を使わない画像を表示するCGIスクリプトは動きました。
>845
Winだと仮定するけど、ImageMagickをC:\ImageMagickにインストールしたとして、コマンドプロンプトから
ppm install C:\ImageMagick\PerlMagick\Image-Magick.ppd
じゃだめなわけ?
847 :
839:2006/02/03(金) 08:35:02 ID:???
環境を書き忘れました。windowsXP sp2, ActivePerl5.8.4,Apache2.0.50です。
すでにインストールできた(?)Image-Magick6.2.5をremoveしてから
846さんの言うとおりやってみましたが、まずインストールされたファイルの数
が異様に少なくdemo.plを実行するとやはりたくさんのエラーを出してくれました・・・。
ImageMagickは"ImageMagick-6.2.6-0-Q16-windows-dll.exe"を実行して
インストールしました。PerlMagickも入っています。ImageMagick自体も
前に3回インストールしなおしたんですけど・・・。
かなりしつこくなってしまい申し訳ありません。
image-magickのzipファイルとかあればいいのですが。でも846氏の方法で
だめだということはImageMagick内のPerlMagickディレクトリ内が不完全
ということでしょうか。・・・悩・・・
良く分からん。
PerlMagicなら、インストーラのチェックボックスにチェック入れるだけで
全部インストールされた記憶がある。
849 :
nobodyさん:2006/02/04(土) 00:58:21 ID:NRI+dP/2
XML::SAX(XML-SAX-0.13) を cygwin の perl で
インストールできた方おりますか?
perl Makefile.PL から出来た Makefile
で make すると、unexpected EOF と言われてすぐに
止まってしまうのですが。
cygwin なんかつかうやつはばかです。
・゚・(ノд`)・゚・。
>>849 今、試しにcpanで入れてみたがまったく問題なかった。
(CYGWIN_NT-5.1 1.5.19(0.150/4/2) 2006-01-20 13:28 i686)
とりあえずキャッシュを消すなりしてもう一度やってみて、
それで駄目なら環境を疑ったほうが良いかと思う。
>>850 cygwin すら使わないやつのほうがもっとばかです。
Jcode.pmで以下を実行すると
「Unrecognized character \xA4 at (eval 1) line 1.」
というエラーが出てしまうのですがなぜでしょうか…
perlは5.6.0です。
$euc="あ";
eval"print Jcode->new($euc)>sjis;";
print "$@\n";
ダブルクォートで$eucが展開されるから。
>>855 レス、ありがとうございます。解決しました。
cygwinにXML::Atomをcpanからインストール出来た方いますか?
最後のテストが通らずにインストールができないんですけど…orz
HTML::Lintを使ってみたのですが、シフトJISコードに文句をつけます:
$ weblint x.html
x.html (36:1) Invalid character \x8C should be written as ?
x.html (36:1) Invalid character \x89 should be written as ?
x.html (36:1) Invalid character \xA6 should be written as ¦
x.html (36:1) Invalid character \x94 should be written as ?
.....
これを回避する方法はあるでしょうか? HTML::Lintに食わせる前に
?XXX にエンコードするぐらいですかね。
>>858 HTML::Lint::_text() 中の
while ( $text =~ /([^\x09\x0A\x0D -~])/g ) {
を書き換えるか、せめて UTF-8 なら通すよう作者に文句入れる。
> while ( $text =~ /([^\x09\x0A\x0D -~])/g ) {
酷いチェックだな…(;´Д`)
http://cpan.uwinnipeg.ca/module/GD/ ↑ここにあるGD::Imageモジュールを全部突っ込みますたが
以下のようなエラーが出てしまいます。
おそらくlibgd.so.2が/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/GD/の中に
ないからだとは思いますが何度インスコしても作られません。
どれをどのようにインスコすればnew GD::Image();を使えるようになりますでしょうか。
Can't load '/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/GD/GD.so'
for module GD: libgd.so.2: 共有オブジェクトファイルを開けません:
そのようなファイルやディレクトリはありません at /usr/lib/perl5/5.8.5/i386-linux-thread-multi/DynaLoader.pm line 230.
at /usr/local/apache2/www/graph485.cgi line 3
Compilation failed in require at /usr/local/apache2/www/graph485.cgi line 3.
BEGIN failed--compilation aborted at /usr/local/apache2/www/graph485.cgi line 3.
>>861 libgd.soって普通/usr/libか/usr/local/libにあると思う
>>861 肝心のGD.pmはインストールしてあるのか
GD懐かしいな
古いバージョンはgifが使えたりするんだよな
でも、imagickつかえばいいのに
866 :
nobodyさん:2006/02/21(火) 23:52:53 ID:BXAbFJoK
phpのuri_rewriter.tagsみたいにhtmlに特別準備しておかなくても
A/FORMタグなどにセッションIDなんかを楽に入れていくモジュールありますか?
HTML::Template使っています。apache側でも助かります
aruyo
>>867 モジュール名までどうか!<(_ _;)>
どうか?
どうかって?
どうかしたのか?
>>867 モジュール名までどうかご教授ください、お願いします!<(_ _;)>
fillformだっけかな
FillInFormね
>>871 ドキュメント見てたらHTML::Templateのfilterを知りませんでした・・・orz
それとFillInFormでA/FORM共にできました!
ドキュメント流し読みじゃなくてしっかり読むよう心がけます、ありがとうございました。
>>873 これもすごく良さそうなのでfilterじゃなくてこれを使ってみるかも知れません。ありがとうございます!
Apache::StickyQueryとか他の選択肢もいろいろ見つかってめちゃくちゃ助かりました!
sledgeとかでSession::Managerの下にStickyQueryって単語を見たとき検索しておけばよかった・・
英語弱いから全然ピンときませんでした・・・CPANから検索するコツを掴んでないですね・・
875 :
nobodyさん:2006/03/01(水) 02:51:34 ID:4cotym3G
WinXPでRawSocket扱いたいんですが、いいモジュールありませんか?
>>875 Windows XP は SP2 から raw socket 使えないんじゃなかったか?
普段 UNIX でしかコード書かないから分からないけど…。
Windows ネットワークプログラミングに関するスレで(多分マ板かな)、
C/C++ で実現する方法を聞いた方が早いと思う。
Perl で同じことするライブラリがあったら、それを使うと。
877 :
_:2006/03/07(火) 20:06:01 ID:???
Net::SMTPって25番ポートが塞がれたサーバでも使えますか?
PODには書いてないようだがnewの時に渡すオプションにPortがあるので
25以外のポートを使うことは可能だと思われる。ただしそれで受け付けて
くれる相手がいればだが。
Rubyモジュール作ってみた。
単にRubyバイナリへのインターフェイスなのでRubyはインストールされてなきゃいけないけどね。
Unix系でも動くかどうか不明。誰かテストしてくれんかな。
wistaria.org/perl/dist/Ruby-0.01.tar.gz
うわ、面白そうなモジュールじゃん。
CPANに上げちゃえば〜?
おもしろそー。
CPANに出すとしたらエイプリルフールネタかなぁ。
4/1のRECENTに
Ruby - Ruby the Object Oriented Scripting Language in Perl
とかあったら笑えるよね。
でも一応、他のマシンでも動いたかどうか確認したい。
誰かmake test成功した?
883 :
nobodyさん:2006/03/12(日) 13:25:32 ID:vDgL7y2S
MySQLをDBIから利用するスクリプトを書いているのですが、
接続の時点でこけてしまいます。↓
DBI connect('database=****:host=****','****',...) failed:
Client does not support authentication protocol requested by server;
consider upgrading MySQL client
多分、内部で使ってるモジュールがないか古いかだと
思うのですが、これだけでは詳細が分かりません。
何かヒントなど貰えたらと思い質問しました。
よろしくお願いします。
# ちなみにMySQL自体はシェルから叩いて動かせるので、
# 問題なくインストールできていると思います。
# GNU/Linux、MySQL 4.1
884 :
nobodyさん:2006/03/12(日) 13:29:09 ID:g9v1wBDl
ありがとうございます。一発でした・・・
>>882 うちでやったらRubyが1.6で弾かれたのよ。。。
Rubyインスコせんといかん。
あ〜わるいね、1.8.0からの機能使ってるもので…。
当方はruby1.8.4、perl5.8.7(ActivePerl)。
Perlは5.8あれば良いと思うけど、Rubyのほうはそれ以下だとダメかも。
見ないで書くけどInline::Rubyとは違うんだよね?
よーっし、Perl で RoR しようぜ!!
>>888 Inline::Rubyはコンパイルできなかったので詳細は不明。
でもまぁ、要はRubyを呼び出すってことなので用途は同じ。ただ、使い心地はだいぶ違いそうだ。
あとは何より、Inline::Rubyはメンテナンスされてないのが痛い。READMEに1.6.6とか書いてあるぞ…。
orzって海外でもつかうのか?
>>891 Ingy は Acme とか XXX とか、ネタモジュール作るの結構好きだけど…
でも、なんで orz なんだろうね(;´Д`)
>>882 perl Makefile.PL
が通らねー。
ので調べたら、RubyのConfig見て$incと$libを作ってるとこがうまくいってないっぽい。
rubyのConfig::CONFIG['LIBRUBYARG']が-lruby-staticとか返してるのは想定外なんじゃないかなー。
ネタモジュールでも気兼ねなくポストできるCPANっていいなあ。
それに引き換えPEAR(PHPの公式ライブラリレポジトリ)は無闇に敷居が高くて困る。
>>896 あああああああ、申し込むの忘れてたああああああああ
orz…
m9(^Д^) プギャー
899 :
879:2006/03/14(火) 00:02:59 ID:???
げっ、ドメインが期限切れ…orz
>>894 サンクス。まぁ、どうせ一発では動かないと思ってたよ。
さて、手元ではちょこっと変えてみたが…うpする場所がorz
orz.pmって結構便利そうだけど名称は不明だね
Yada::Yada::Yada
ってモジュールもあるらしいぞ。
903 :
879:2006/03/16(木) 11:54:58 ID:???
wistaria.org/perl/dist/Ruby-0.02.tar.gz
ふー。前のはGC周りがバグってた。
インターフェイスも大幅に拡張。
Makefile.PLもCygwinのrbconfig.rbを参考にしながら変えてみたんだけど、どうかな。
実行はこんな感じです↓
#!perl
use Ruby;
rb_eval <<'RB';
Perl.eval('use LWP');
ua = Perl["LWP::UserAgent"].new
req = Perl["
HTTP::Request"].new "HEAD", Perl.String("
http://www.example.com")
puts "HEAD #{req.uri}";
res = ua.request(req)
puts res.headers.as_string
RB
perl の LWP つかえばよいのでは?
LWPはあくまでサンプルだろ
>>902 そんな日本語ちっくな造語があるのかー。
知りませんでした。
... がなんで「やだ」なのかずっと考えてました(コードを書くのがイヤなのか?とか)。
サンクス。
>>903 んーとね、ppport.hは元のperlのを使わないと駄目っぽい。
(添付のを削除して、手元のやつを使ったら通った)
あと、\で行が継続しないみたいです。
とりあえずー。
908 :
903:2006/03/17(金) 01:06:35 ID:???
>>907 サンクス。
…ppportがダメって、何の為のppportだ!?バックコンパチを提供する機能なはずなんだが…。
まぁいいや、ppportは外そう。最新版ならなくてもビルドできるし。
\の行継続も分からんなぁ…。どんなコンパイラ使ってるの?環境は?
とりあえず行継続\は削除するけど。
Validationってどうしてますか?
>>908 ppport.hでエラー吐いてたのは5.8.3です。
5.8.8に上げたら大丈夫でした。
環境はVineLinuxだから普通にgccおま。
っつーか、俺も\でエラーになってたんで変に思ったのよ。行継続させたら動いたんだけど。
……あ、ひょっとすると改行問題かも。今気付いた。
他にもwarningとかerrorとか吐いてるんで、もちょっと調べてみます。
やっぱ改行だった…… orz
ただ、他にもerrorが出るのはよーわからん。問題なさそうに見えるんだけどなぁ。。。
あ、perl Makefile.PLするときにrubyのPATHを指定できるようになってると良いかも。
913 :
903:2006/03/17(金) 23:51:56 ID:???
>>912 ああそうか!ごめん!改行がCRLFになってたんだな。
そうと分かれば直せばいいだけだ。そういえばそうだなぁ、失念してたよ。
rubyのPATHも了解。確かに、引数で渡せるようにした方がいいね。
cygwinからcpanモジュールを入れようとしてるが
あまりうまく入るモジュールが少ないな
Cygwin なんかつかうやつはばかです。
CPANで入れたモジュールを単純にアンインストールだけしたい時はどうするよ
CPANPLUSならアンインストールコマンドあるよ
おまたせ。
wistaria.org/perl/dist/Ruby-0.03.tar.gz
とりあえずrubyのパスをオプションで渡せるようにしたよ。
perl Makefile.PL --ruby=/path/to/ruby
てなかんじで。
省略すると勝手に探して勝手に実行するか、なければ止まる。入力を促すようなことはなくなりました。
他、けっこう変わったのでRuby.podも参照されたし。
さて、問題は英語のドキュメントか…。英語苦手なんだよなぁ。
ああだめだ、試験的にeval()を「Perl::Package」の中で実行するようにしてみたが、この仕様は失敗だったようだ。
しかしトップレベルでeval()するわけには行かない。
package Foo;のなかでのclass Foo;とdef foo、package Barのなかでの(ryが衝突するのは困るから…。
ううむ。
ごめーん、いろいろあってまだ遊べてない>Rubyモジュール
YAPC::Asiaで会えたら会おうw
wistaria.org/perl/dist/Ruby-0.04.tar.gz
use時の-evalでクラスも自動的にインポートするように。例は/08class.t参照のこと。
他、バグフィクス。
>>920 残念、YAPC::Asiaはいかないんだよ。まぁ、暇があったら遊んでもらえると嬉しい。
あ〜あ3/32のせいでTime::Localつかって日付をunixtimeに変換する部分が
out of range 1..31
ってエラーでちゃったよ…orz
しかし、同じスクなのに別鯖に設置したものは動いたりする。
鯖によってTime::Localって違うのかな?
923 :
nobodyさん:2006/03/32(土) 16:14:42 ID:OoUxyhRh
某質問板に投稿されてて気になって試してみたんだが、CGI::Sessionってheaderメソッドがバグってるみたいね。。
吐き出すヘッダの「Set-Cookie:」行の「expires=xxx」が、自分が持ってる秒数出しちゃうみたい。
で、いちおソース読んでCGI::Session→header→CGI→cookie→CGI::Cookie→CGI::Util→expire→expire_calcってたどってみたんだが、このルーチンがオカシイっつーか。
〜 elsif (引数=~/^\d+/) {return 〜
ってとこで、ナゼか先頭が数字だと変換しない仕様になってる。これってどうなん??
(引数=~/^\d+$/) のマチガイじゃないんかなぁ
それにしたって else { return があるから不要では??
まとにかく、CGI::Sessionの_str2secondsルーチンで先頭の記号消しちゃってるから、結果としてはCGI::Sessionのバグっぽい。
個人的にはCGI::Utilもドーかと思うけど。
イマイチ自信ないんで確認求ム
924 :
923:2006/03/32(土) 16:21:26 ID:OoUxyhRh
イチオ捕捉
CGI::Utilは、先頭が数字だとダメで「+」とか「−」が付いてればちゃんと変換してくれる。
でもCGI::Sessionは秒数を出すときに掛け算しちゃってるから、+が消えて、でアウト
Netscape Cookieは期限の最初が必ず英語の曜日になるんだったっけ?
仕様忘れたけど、それで正しいと思うよ。使われないけど。
926 :
923:2006/03/32(土) 20:18:37 ID:OoUxyhRh
そうそう英語の曜日とかハイフンでつなげるとか、RFCで仕様が決まってる。
ちなみに、正しいっていうのは、英語の曜日〜のこと?
上にも書いたけどCGI::Utilは、ちゃんと秒数を英語の曜日〜に変換するコードがあるんだけど、引数の先頭に+−が付いてないと拒否されるんだよね。これ自体がバグな気がするけど、付けて渡さないCGI::Sessionもバグなんだろうね。
ブラウザ次第だろうけど、これじゃまともにクッキー発行されないよね。
ってより、一番不思議なのは、CGI::Sessionて結構メジャーだと思うんだけど、今まで誰も気付かなかった(問題起きなかった)のかな。
みんな直接CGI::Cookieとか呼んでるのかな?それにしても、誰か気付きそうなもんだ。
>>926 手元の環境では問題ないようだけど
気になるから実行環境とおかしくなった時のコード晒してよ
v5.8.5 built for i386-linux-thread-multi
CGI-Session-4.10
use strict;
use warnings;
use CGI::Session;
my $session = CGI::Session->new;
my $cookie = $session->cookie(-expires => '+1d');
print $session->header(-cookie => $cookie);
__END__
Set-Cookie: CGISESSID=a29d66798de84d216126599df031e040; path=/; expires=Sun, 02-Apr-2006 13:11:15 GMT
Date: Sat, 01 Apr 2006 13:11:15 GMT
Content-Type: text/html; charset=ISO-8859-1
928 :
nobodyさん:2006/03/32(土) 22:53:48 ID:??? BE:1633853-#
>April Fool 2006
だってさ。
930 :
926:2006/03/32(土) 23:40:24 ID:OoUxyhRh
>>927 それだと普通にCGI::Cookieを使ったのと同じだから、意味がないよ。
問題はCGI::Sessionの_str2secondsルーチンで生成される値が不正ってことなんだけど、その書き方だと、この問題の値が出力されないはず。
$session->cookie(-expires => '+1d'); だと、CGI::Sessionが内部で持ってるCGI::Cookieを使うだけだから、上に書いた「直接CGI::Cookieを呼ぶ」のと同じになる。
しかもheaderメソッドは与えられた引数を自前パラメーターの後に付けてそのままCGIに渡すから、
->header(-cookie => $cookie);
と書くと、内部では、
->header(-cookie => 問題の値, -cookie => $cookie);
ってcookieが2回になる→2回目のやつで上書きされる→_str2secondsの値がCGI::Cookieの正しい値で上書きされる
ということになる。
このあたり、ヘタな説明よりソース見たほうが早いかも。
で、ソースを見ると、バージョン3.9Xより上のバグみたい。
というより、3.9X以下はそもそもヘッダにexpireを出さない。
とにかくexpireの値がheaderで正しくHTTP Headerに変換されないってだけだから、コードはこんな感じ。
use CGI::Session;
$session = new CGI::Session();
$session->expire('+1d');
print $session->header();
結果
Set-Cookie: CGISESSID=c6458e〜; path=/; expires=86400s
Date: Sat, 01 Apr 2006 14:21:46 GMT
Content-Type: text/html; charset=ISO-8859-1
イチオ結果教えて
わろす
Domain Information:
[Domain Name] MIXXI.JP
[Registrant] Tatsuhiko Miyagawa
[Name Server] ns1.domain.livedoor.com
[Name Server] ns2.domain.livedoor.com
[Created on] 2006/04/01
[Expires on] 2007/04/30
[Status] Active
[Last Updated] 2006/04/01 00:07:42 (JST)
Contact Information:
[Name] Tatsuhiko Miyagawa
[Email] miyagawa at edge dot jp
933 :
nobodyさん:2006/04/02(日) 06:18:50 ID:Uq9R7pb0
>>932 確認&報告サンクスです。
cpanに報告されてたんだ。って時間みると、ここの誰かなのかな?
ところで
> 4.10以前から
>>927の書き方だったから気が付かなかた
それで思ったんだけど、たぶんみんなそうだから発見が遅れたんじゃないかな。
古いのはexpiresを出す機能自体がなかったし、自分自身、たいていcookieは別の方法で自前で作ってるし。headerメソッドあんまり使われないのかも。
それと、CGI〜モジュールって、けっこう頻繁にバージョンアップしてるんだね。これも知らなかった。
934 :
879:2006/04/04(火) 00:19:54 ID:???
Ruby-0.06.tar.gz
$obj->attr = "foo";
なんてのが出来るようになったよ。とりあえずここでの報告はこれでおわり。
あとはチラシ裏用意したんでそっちで書きます。
935 :
nobodyさん:2006/04/04(火) 18:48:31 ID:4PLmYPWh
CGI::Sessionの話題が出たのでついでに報告
セッションファイルの掃除には、過去に何人かCGI::Session::ExpireSessionsをすすめてたけど、これは避けるべき。
シリアライザ次第で落ちる(制御文字が入ってるだけでも落ちる)っていうだけならまだしも、セッションファイルをそのままevalしてしまっているので、セッションに保存されるデータが絶対に安全だという、よほどの自信がない限り、使えない。
ちなみに本体のCGI::Sessionのほうでは、一応セッションファイルの読み込みはSafeとか使ってセキュリティ対策はしてある。
CGI::Sessionのfindを使って掃除、っていう方法は、これまた使えない。
findは、実行するとご親切にアクセスタイムを更新してくれる…。つまり永久に削除されない。
で、どうすりゃえーの??
937 :
nobodyさん:2006/04/05(水) 03:22:05 ID:Q6DtuhIy
>>936 前にも誰か書いてたように、普通にバッチとかスクリプト組んで消すのが簡単&早い&安全だと思うよ。もちろん個人的意見だけどね。
ディレクトリの中に複数の期限のファイルが混在しないように設定しさえすれば、わざわざファイルをロードする必要なんてないんだから、ファイルのアクセス日時を調べて片っ端から消すべし。
圧倒的に軽いから、1日1回じゃなくてもアクセスのたびに(たとえばログインのプログラムからとか)呼び出してもOK
ちなみにCGI::Session::ExpireSessionsが危険だから自信がなければ使うな、っていうのは、付属ドキュメントにも書いてある。
Apache::Sessionはどうなのさ?
939 :
nobodyさん:2006/04/05(水) 11:28:41 ID:Q6DtuhIy
どうって?
どうもこうもないだろ
今時ファイルベースでセッション管理とか暇人だな。
うん、どうもこうもない
939と940が正解
Apache::Sessionは関係ないやん
ちゅーか何が聞きたいのか意味不明だけど。
941は論点ズレちゃう?
943 :
初心者:2006/05/15(月) 09:35:22 ID:4cAsENNb
基本的な質問で申し訳ありませんが、perlのモジュールをcpanからインストールしようとすると、
'test' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と表示されてしまい、インストールできないのですが、どうすればよいでしょうか?
方法は、windowsXPのcmdで
C:\> perl -MCPAN -e shell
とした後、
cpan> install NDBM_File
としました。
基本的な質問で申し訳ありませんが、よろしくお願いしますm(__)m
NDBM_Fileって標準モジュールじゃなかったっけ?バージョンアップしたいの?
>>943 多分makeが設定されてないから。
nmake.exeある?
類似画像を検出するモジュールってないですかね?
947 :
nobodyさん:2006/05/22(月) 09:44:35 ID:afee109F
>>945 回答ありがとうございます。
Visual Studio 2005 Express Edition
をインストールしました。その中に
nmake.exe
が含まれています
948 :
初心者:2006/05/22(月) 09:56:02 ID:afee109F
>>944 返答ありがとうございます
ActivePerlの5.8.8.817
をインストールしたのですが、
use NDBM_File;
とすると
Can't locate NDBM_File.pm in @INC (@INC contains: C:/Perl/lib C:/Perl/site/lib .
) at test.pl line 4.
BEGIN failed--compilation aborted at test.pl line 4.
という風に表示されます
>>948 初心者ということにしておけばいいと思ってる?
少しは Google とか使おうよ。
950 :
nobodyさん:2006/05/22(月) 16:32:01 ID:afee109F
すみません。ググってもわからなかったんです。
>>947 CPANのshellで
o conf make
ってやったときnmake.exeが出てくる?
出てこないから設定しなされ。
以降はCPANの使い方を調べてから質問してください。
952 :
nobodyさん:2006/05/23(火) 17:09:43 ID:KdLDl6Fq
Fileへの読み書きってどのモジュール使ってますか?
普通そんなことでモジュールは使わない
>>952 IO::File使う人が多いけど、あえてFileHandle
>>954 昔と違って今はIO::Fileのラッパーになってるよね。
JcodeがEncodeのラッパーになってるみたいに。
>>955 そそ、ラッパーになってる。
JcodeはEncodeが使えない環境では
元のJcodeとして動くはずだから、ちょっと違うけどね。
957 :
nobodyさん:2006/05/29(月) 15:46:20 ID:qSQBaQa2
読み込んだHTMLの中の相対パスを絶対パスに変換してくれるモジュールありませんか?
JavaScript内のパスもちゃんと変換してくれるとありがたいのですが・・・
どうやって読み込んでいるのか書けや。
なにやりたいのかによるけど、baseタグ突っこんだほうが楽じゃね?
#逆にbaseとか存在しないと変換しようがない気がするけど。
960 :
nobodyさん:2006/05/30(火) 10:35:37 ID:GSQr5F7L
読み込み方はファイルからだったりSOCKETだったり色々です。
パス変換のみならできそうなんですが
HTMLをparseしてURL部分を変換してくれるモジュール無いかなぁ?と思いまして・・・
例えばテンプレートが相対パスで書かれている場合
CGIで出力すると画像のパスなんかはおかしくなりますよね
ある程度汎用的なモジュールで対応できたら、と思った次第です。
Baseタグかあ。ちょっとやってみます。
HTMLに ../foo.html とだけ書かれていて、それの絶対パスが分かる君はエスパー?
いやもちろんBASEとなるURLは指定する前提ですよ・・・
つ HTML::ResolveLink
cpan探せよ。
ありがとうございます!!!
HTML URI で一発でしたね・・・
それどこの糞レン鯖?
LWP::UserAgent が使えるか確認してみ?
Win32::GUIでコントロールの配置が物凄く面倒です。
みなさんはどうしていますか。
Tk→これはこれでいいんですがWin32GUIも使いたいです。
GridLayout→resize時のrecalcは捨てがたいのですが最初の配置をGUIでぐりぐりやりたいです。
LoftのgldをStorableで解凍→DataDumperで覗いたら眩暈がしたので挫折しました。
そこでVBのfrmやVC++等のrcファイルの自力パースとか考えてるんですがどうでしょう。
主な目的は位置、サイズの指定です。
Win32::GUI::Loft を使う
アップロード中に、完了後のファイルのバイト数と、アップロード完了済みのバイト数を取得する方法を教えてください。
973 :
968:2006/06/15(木) 01:00:33 ID:???
>>969 ありがとうございます。
しかしLoftは、私のスペックでのもたつき感や拡張性に不満があり最近は使わなくなっています。
そこでLoftのgldだけ再利用しようと思ったのですが
>>968のような結果となってしまいました。
いっそのこと、VBとかでフロントエンドを作ってしまうのはどうでしょう?
975 :
nobodyさん:2006/06/18(日) 05:37:07 ID:wjoky+sx
CPANPLUSがやたら重いのは仕様ですか?
976 :
nobodyさん:2006/06/19(月) 12:53:03 ID:kmF33pQl
モジュールじゃないんですが、
レンタルサーバにparrotをインストールしてみたんですが、
telnetでは問題なく動いてるのに、サーバーを通して
例えば、system("/xxxxx/bin/parrot -h")とかすると何の音沙汰もない
んですが、どういう原因が考えられるでしょうか?
977 :
976:2006/06/21(水) 15:19:45 ID:???
だれか〜、似たようなことやってるひといませんか〜
本当に
>>976しか条件がわからないなら、
telnetユーザとcgi実行時のユーザが違う、とかからいろいろある。
しかし、こういうと、それは違います、調べました、とかいわれそうだしな。
>>976 じゃあ
system("/usr/bin/perl -h")
がどうなるか教えてちょ。
980 :
976:2006/06/21(水) 22:51:30 ID:o4rXunEj
普通に
Usage: /usr/bin/perl [switches] [--] [programfile] [arguments]
-0[octal] specify record separator (\0, if no argument)
-a autosplit mode with -n or -p (splits $_ into @F)
-C[number/list] enables the listed Unicode features
・・・・
・・・・
って感じです。
他にもいろいろ入れてるんですが、javaとかは普通に動いてて、
runghcは動かないとか、かなりカオスな感じです・・・
ちなみにsystem("whoami")だと自分のidが出ます。
環境変数がおかしいのでは?と考えてみたんですが、
apache経由だと環境変数が全てCGI用のものになってしまっていて
手のつけようがないです。
STDERRに吐かれてるとか?
980over保守って必要?
いらん?
次スレが必要
Perlスレいっぱいあるんだし、統合したら
この板に限定する必要もないし……
CGI.pm を使って画像ファイルのアップロードを受け取っているのですが
<FORM name="up" method="POST" ENCTYPE="multipart/form-data" action="./index.cgi?id=$mID">
のように method="POST"としつつ .cgiのうしろに引数を付けたいのですが
$q = new(CGI);
$q->param('id');
をすると、id だけ取れません。
この状態で id の値をとってくる方法はありますでしょうか?
すいません $q->url_param('id')
で受け取れました。。
getとpost両方同時に受け取るのはCGIの仕様外みたいなので、
あんまりやらないほうがいいかも・・・
pythonなんかでは確かはっきり禁止されてたような・・・