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

Perlモジュールについて

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

モジュールの使い方とかリンクは>>2-10さんが出してくれるかも?!
0035nobodyさん02/04/12 19:15ID: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});}
}
0036nobodyさん02/04/30 09:00ID:PpiN0rQr
こんなのもあるらしい。
http://jenda.krynicky.cz/#PSH
0037nobodyさん02/05/02 17:02ID:E3wstOhZ
ネットワーク関連のモジュール群ハケーン
レンタルサーバでCGI組む時、LWPやlibnetインストールできない時に使えそう。
http://www.din.or.jp/~bigstone/cgilab/guide/netmodules.html
0038nobodyさん02/05/02 17:18ID:???
Socket使えなかったら意味ないだろ。
0039nobodyさん02/05/02 17:25ID:???
↑それって問題外なんじゃないの?
Socketが使える状況が前提でしょうが。
0040nobodyさん02/05/03 00:54ID:???
>>37
[cgi:44235]は帰れ。
0041nobodyさん02/05/03 01:23ID:???
>>37
いらない。IO::Socket::INETがあるから。
0042nobodyさん02/05/05 00:37ID:???
↑車輪の再開発おめ。
0043nobodyさん02/05/05 08:57ID:???
>>42
人の作った車輪の上でお山の大将気取ってるもどうかと。
0044nobodyさん02/05/06 18:30ID:dZFQgqwT
↑人の作ったモジュール紹介した=お山の大将気取る
になるお前の思考ルーチンもどうかと?
0045あぼーんNGNG
あぼーん
0046nobodyさん02/06/10 10:23ID:LHA1Stqn
誰か自作のモジュール自慢すれ。
0047nobodyさん02/06/10 19:36ID:???
どんなのがいい?
0048nobodyさん02/06/22 13:25ID:PfrrYGvI
XSを利用したモジュール作成の解説をしたサイトってありませんかね?
もしくはここでperlの魔術師がHelloworld.cでもいいので
サンプル書いてみてください。
よろしくです期待age。
0049nobodyさん02/06/22 22:45ID:???
>>48
まずはマニュアル嫁
http://www.kt.rim.or.jp/~kbk/perl5.005/perlxstut.html
0050nobodyさん02/07/03 22:52ID:kRj5caac
Win32::MsgBoxで、ダイアログがウィンドウの前面にでないことが
あるのですが、どうすればいつも前面に出せますでしょうか?
0051nobodyさん02/07/03 22:53ID:???
気合だろ!
00525002/07/03 23:01ID:3+KiYR63
2時間ぐらい試していますが、未だに法則がわかりません。
もちろん気合も試しました。分かる方よろしくおねがいします。m(_ _)m
0053nobodyさん02/07/03 23:09ID:???
>ダイアログがウィンドウの前面にでない
って、そんなときは、どこに出るんだ?
0054nobodyさん02/07/03 23:11ID:???
>>52
この短時間でIDが変わってるぞ。偽者か?
気合でうまくいくはずとマニュアルに書いてあるだろ!
0055nobodyさん02/07/04 00:16ID:8lTiTdof
>>50
うーん、MB_SYSTEMMODALフラグを付ける手はどうでしょう。。。

use constant MB_SYSTEMMODAL => 0x1000;
Win32::MsgBox("キター!!!", MB_SYSTEMMODAL);
005650=5202/07/04 00:31ID:GKK9RANu
>>55
キタ━━━━━(゚∀゚)━━━━━ !!!
原理がサパーリですが、うまくいきました。
どうもありがとうございました。
0057nobodyさん02/07/04 19:20ID:NAJ0SD7/
http://dir.goo.ne.jp/computers/00941/00951/00952/

Gooではリンク先のプレビュー画像が見られますが、こういうの作るモジュールってあるんでしょうかね。
0058nobodyさん02/07/04 19:36ID:NAJ0SD7/
naindenai?
0059nobodyさん02/07/04 22:47ID:???
>>57
http://www.horae.dti.ne.jp/~tkimata/cgi/reference/script/
http://www.horae.dti.ne.jp/~tkimata/cgi/reference/
どうよ?
0060nobodyさん02/07/05 20:25ID:5DbR4nrL
GIFとJpegとPNGを相互変換できて、なおかつ、
画像の編集ができるモジュールはありますか?
GD.pmというのはGIFとJpegを同時に使えないようです。
0061nobodyさん02/07/05 20:27ID:???
それらはPerlでやるべきことではない上、GIFは止めろ。
0062nobodyさん02/07/05 20:27ID:???
ImageMagic
0063nobodyさん02/07/05 20:58ID:???
ローカルで画像いじるならImage::Magickがあると超便利。
落としたエロ画像のサムネイル作ってまふ。
0064nobodyさん02/07/05 22:11ID:???
>>63
アプキボン
0065nobodyさん02/07/05 22:16ID:???
>>64
検索しなさい。いくらでも出てくる。
0066nobodyさん02/07/05 22:21ID:???
64が要望してるのはエロ画像のほうじゃないのか。
0067nobodyさん02/07/05 23:24ID:St7kmpIx
>>59
afo?
0068LEON02/07/07 08:35ID:2rukKasO
WebARENAでは、サーバにないモジュールでも、
自分のcgi-binディレクトリに使いたいモジュールを置けば
使えるみたいなんだけど、
ImageMagickを使いたければ、PerlMagicを置けば使えるようになるのかな?
それとも、ImageMagickがサーバにインストールされてないとダメなのかな。
0069nobodyさん02/07/07 09:10ID:???
>>68
PurePerlなものは、適当なところに置いてきちんと@INCを設定すれば使える。
これはどこでも一緒。
PerlMagickの場合はImageMagickがインストールされていたとしても、
PerlMagick自体コンパイルが必要なのでダメ。
あらかじめサーバ環境用にコンパイルしてサーバに置くか、
もし「許されているなら」サーバでコンパイル、インストールすればよろし。
0070LEON02/07/07 09:33ID:WMCpg0fx
>>68
68さん、ありがとうございます。
結構、藁にもすがる思いで質問したので返事がいただけてかなり嬉しいです。
まだImageMagickとPerlMagickの関係がわかってなくてすみません。
やはりサーバにImageMagickがインストールされてなければ、
コンパイル済みのPerlMagickモジュールを置いても使えないんですよね。。
サーバでのコンパイル、インストールはできないんです。。
0071nobodyさん02/07/07 17:00ID:k28wtQVp
ImageMagickって、root権限持ってないと使えるようにできないの?
コンパイル済みのPerlMagickモジュール、置くだけじゃだめ?
0072nobodyさん02/07/08 00:36ID:???
>コンパイル済みのPerlMagickモジュール、置くだけじゃだめ?

まったく同じ環境でコンパイルしたものなら大丈夫じゃない?
0073nobodyさん02/07/08 09:36ID:SZQSam5Y
>まったく同じ環境でコンパイルしたものなら大丈夫じゃない?

ImageMagickは、あらかじめインストールが必要?
0074nobodyさん02/07/08 16:01ID:SZQSam5Y
Linux用にコンパイル済みのGD.pmってどこにあるか知らない?
0075nobodyさん02/07/12 13:33ID:???
>>74
自分でコンパイルすれば良いんでないの?
0076nobodyさん02/08/01 02:48ID: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;
}
}
こんな風にしていました。
0077nobodyさん02/08/01 17:54ID:???
SELECT relname FROM pg_class WHERE relkind = 'r' and relname !~ '^pg_' and relname !~ '^xin[vx][0-9]+';

で一覧とったら?
0078nobodyさん02/08/03 00:34ID:XT+awdOD
>77
できましたぁぁぁぁ!!!サンキューです。
0079nobodyさん02/08/03 10:01ID:???
最近、明示的に/暗黙に perl-5.6 が必要なモジュールが
多いね。うちはまだ 5.005_03 が主力だからよくハマるよ...
さっさと 5.8 にしたいなぁ
0080nobodyさん02/08/03 15:38ID:XT+awdOD
/usr/lib/perl5/site_perl/5.6.0/Net/SMTP.pm
にSMTP.pmがある状態で
00817802/08/03 15:42ID: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とぶつかるらしく
変数のパッケージ宣言がおかしいというエラーが大量に出ます。

0082チンポ02/08/03 16:43ID:bV9lZ19l
>>81

× use NET::SMTP;
○ use Net::SMTP;

では?
00837802/08/03 18:12ID:XT+awdOD
>82
(;´Д`)どうもです。
こういうなんでもないところにつまって半日もムだにかかっちゃうから
残業が減らないんだよなあ。

たすかりました
0084nobodyさん02/08/05 10:41ID:???
>83
あ...あんたプロなのか。これでプロになれるのか。
漏れも思いきって会社受けてみるか。
008582だけど02/08/06 13:16ID:u/vVihtn
うちの会社は受けないでくれ
0086nobodyさん02/08/06 17:01ID:???
一緒に仕事したくない会社No.1
0087nobodyさん02/08/10 02:05ID:???
>>84
某C○I-MLはいってみ。
こんなんばっかだから・・・・(;´Д`)
0088nobodyさん02/08/12 09:50ID:lG15UT+D
日本語も使えるイメージ生成モジュールないでしょうか?
GD日本語だめだし
0089siba02/08/12 09:57ID:7rmR5a/3
JAVAでパスワードの暗号化をしたいのですが、
どなたか教えてください
0090nobodyさん02/08/12 10:03ID:???
>>89

なんでJAVA?
0091nobodyさん02/08/12 11:30ID:???
javax.crypto.* でもみれば。
0092nobodyさん02/08/16 05:43ID:???
>>88
GDって日本語使えないんだっけ?
パッチとか当てて出来なかったかな?
0093nobodyさん02/09/16 22:08ID:pL+0JjZV
サブルーチン→モジュールの流れによって、Perlが使いやすくなったのか
ギモンなのですが…。
オブジェクト指向プログラミングをJAVAとActiveScript(スマン)でしか経験して
ないので大きなことは言えませんが、不完全なオブジェクト指向しかできない
のであれば、今までのplファイルでのサブルーチンで良かったような気がします。
へんなコンパイルとかさせるような仕様にしなくても。
どうも、モジュール化への流れでのメリットというのがわからないのですが…。
0094nobodyさん02/09/16 22:08ID:???
こんなイニシエスレをageてしまった…。すまん。
0095nobodyさん02/09/17 10:16ID:???
>>93
どうやらチミはオブジェクト指向のなんたるかが
マターク判っていないようだ。
00969302/09/17 20:13ID:BPpTHLja
うーん、各オブジェクトがそれぞれ自分でメソッドとプロパティを持っててそれに沿って動作、
あるオブジェクトは他のオブジェクトがどう動作しているのか関知せず、ただ必要になったら
functionで相手に「これやってねぇ〜」って指示してその結果だけもらう(結果を得るまでの
プロセスについては関与せず)、ってくらいに思ってます。
それでFLASHは何とかなるので…。

今回は意図的にage。
0097nobodyさん02/09/18 00:22ID:???
>96
それがPerl5ではできないとでも?
そんなの96の書き方次第だろ
0098nobodyさん02/09/18 05:07ID:???
<age><sage>してみよう
0099 02/09/18 09:26ID:gjQd9uRC
>>97よ落ち着け。
93は「コンパイルとかさせるような仕様にしなくても」って発言があるので
そんな仕様にしないとオブジェクト指向化できなかったのか?
と言っているんだろ
0100nobodyさん02/09/18 10:22ID:???
いやぁ、そもそも「へんなコンパイル」が何を指しているのか謎なのだが。
0101nobodyさん02/09/18 19:49ID:???
>>92
画像に表示させる文字列に日本語を使うことならできる
01029702/09/19 02:16ID:???
変なコンパイルて濡れもよくわからなかったのですが
メリットはOOでも書けるようになったっていうそのものじゃん。
OOPerlは変なコンパイルだからだめといわれてもできない方がいやだぞ。
cpanマンセー
0103nobodyさん02/09/19 09:22ID:???
初心者。
長大なテキストを既定のフォーマットにするために、WinでActivePerlを使ってる。
(エディタのマクロみたいな使い方)

文字列をShiftJIS化するのにjcode.plを使っていたが、最近Unicodeも
扱わないといけなくなったので、対応しているjcodeをコピーしようと思った。
ところが、なんだかJcode.pmにモジュール化されていて、CPANがどうのとか・・・。

一応、解説サイトを巡りながら頑張ったけど思うようにインストールしてくれず。

普通にエディタのマクロ使ったほうがイイ? でもPerlって扱いが楽なのさ。
0104nobodyさん02/09/19 10:51ID:???
>>103
(初心者はどうでも良いというか書かないほうが良い)

http://openlab.ring.gr.jp/Jcode/index-j.html
ここのJcode-0.81.zipをダウンロードして
perl win_install.pl
でもインストールできませんか?

どんな方法でモジュールをインストールしようとしたのかと
perlのバージョンを教えてくださいな。
0105nobodyさん02/09/19 12:09ID:???
>>104さん
うわ。すごい簡単にインストールできました。本当にありがとうございます。

今まで、
http://x68000.startshop.co.jp/~68user/net/ext-module.htmlの「CPANモジュール」を
見ながらやってました。
perl -MCPAN -e shel
lをやって、
install モジュール名
でうまくいかず。
0106nobodyさん02/09/19 12:19ID:???
もう二つ質問させてください。

1・
win_installがないモジュールの場合はどうすればよいのでしょうか。
たとえばLWPとかです。

2・
インストール先のフォルダを指定したい場合はどうすればよいのでしょうか。

Perlのバージョンは5.004です。会社のサーバFreeBSDと少しでも同じ環境にするため
古いVerのままなのです。
010710302/09/19 14:01ID:???
5.004だとppm使えないよねぇ。
(522のサポートはまだ続いてるのか?)

素直にCPAN.pm使いましょう。どこでこけてるのかな?
CPAN.pmについてはここが詳しいです。
http://digit.que.ne.jp/work/index.cgi?%A5%E2%A5%B8%A5%E5%A1%BC%A5%EB%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%28CPAN%29

インストール先はMakefileに定義されてます。
自分でmakeするならMakefileを作るときに設定できる。
http://member.nifty.ne.jp/hippo2000/perltips/module_install.htm
CPAN.pmを使うならそれも設定でできたと思った。
http://member.nifty.ne.jp/hippo2000/perltips/CPAN.htm
0108nobodyさん02/09/19 16:02ID:???
ありがとうございました。特に最後のリンク先が大変参考になりました。
今まではnmakeもCコンパイラもインストールせずにCPAN.pm使ってました。
試しにIO::Scalarをインストールしたところ、無事に成功しました。
本当にありがとうございました。
0109nobodyさん02/09/19 16:03ID:???
やっぱり英語はできたほうが良いのかな・・・?
0110 ◆JAPH9PWA 02/09/19 20:14ID:???
>>108
CPAN.pmは内部でmakeやCコンパイラを使うよ。
上手く設定するとCPANでインストールすることも可能。面倒だけどね。

>>109
出来た方がいいよ、絶対。
0111nobodyさん02/09/24 11:44ID:n1qFoNwr
CPAN.pmでモジュールをインストールしてると、
Perlの最新版をインストールしようとすることってある?
lwpをインストールしてて、英語わかんないから質問はすべてenter入力してたら
なんだかすごい量のファイルをインストールし始めた。
慌てて途中でやめたけど。
サーバのperlは5.0053なのに5.8のライブラリの処理とか始めたりして焦った。
0112nobodyさん02/09/24 11:57ID:???
>>111
うちも同様で、jperl5.005_03-990822 と v5.6.0 で perl -MCPAN -e shell
をやったら、perl-5.8.0 のインストールが始まっちゃった。
0113nobodyさん02/09/24 11:59ID:PkTNvTjp
>>112 >>111
ActivePerl:Win32の話?
それともUnix系のPerlの話?
011411102/09/24 12:03ID:???
>>113
うちはどちらも Linux で、それぞれ Slackware と Redhat7.2
でふ。
0115nobodyさん02/09/24 12:08ID:PkTNvTjp
たぶんCPANの遠隔操作?だろう。
昨日Cygwin/Perl5.8でTkインストールしようとしたら(もち失敗)
LWPとかいろいろチェックし始めたもん
別の話だが昨日からPPMコマンドも機能しないんだよなぁ
0116nobodyさん02/09/24 12:12ID:???
perl5.6と5.8はXSの互換がきかんので
再コンパイルの必要があるっていう話があったような。
011711102/09/24 12:26ID:n1qFoNwr
うちはfreeBSD。
sakuraのバーチャルドメイン。
ユーザスペースならモジュールのインストールもOKなので挑戦。
>>114さんは=112ですよね?
0118111 じゃなくて 11202/09/24 13:10ID:???
>>117
まちがえますた。おっしゃる通り 112 です。
0119nobodyさん02/09/30 08:33ID:56lq+6AY
sakuraにLWPは、あきらめて古いバージョン(plファイル)入れました。
はぁ。
0120nobodyさん02/10/04 08:13ID:???
「Perlについての質問箱」がruby基地外によって潰されました。
心ある人は、rubyスレにお礼参りしてください。
0121nobodyさん02/10/04 10:22ID:???
Storable-2.05 が出てる。

> Since Storable version 2.05, CODE references may be serialized with
> the help of B::Deparse.

ですと。
0122 ◆hMJAPH9PWA 02/10/04 17:25ID:???
>>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)じゃダメでした。( ´・ω・`) ショボーン
0123nobodyさん02/10/10 05:54ID:???
jhhhh
0124nobodyさん02/10/11 16:35ID:BLCX+amr
ImageMagicをperlで使ってます。
二つの画像をレイヤーみたいに重ねて一つの画像として出力するには、
どのMethod使えばいいですかね?

あとImageMagicを日本語で解説してるとこないですかねぇ〜
0125nobodyさん02/10/13 13:58ID:???
>>124 Composite
0126nobodyさん02/11/02 05:03ID:o+t0cR8M
あげとくか。
0127nobodyさん02/11/05 07:25ID:CJxmL6tb
ActivePerlで、GD.pmを使ってTrueTypeフォントを印字すると
□□□□□っていう風な文字になるんだけどなぜなんでしょうか?

スクリプトとフォントはGD.pmに付属してる奴で試しました

GD.pmはppmでインストールしたのでバージョンは1.27
ActivePerlは 5.6.1 build 632です
0128nobodyさん02/11/05 08:01ID:CJxmL6tb
http://www.pluto.dti.ne.jp/~hisato/daily/200207.html#05_t2
自己レス、どうやらppmで落とせるのは駄目らしい
ここにあったので試してみたらできた
0129nobodyさん02/12/01 21:39ID:+x4ey74A
perlmagickでJPEG画像のサイズ変更しても
ファイルサイズ落ちないんだけど
誰か原因わかる人おらんかな?

↓こいつが変
$image->Quantize(Colors=>$co,dither=>'True');

しょうがないから 一旦ppm形式で書き出して
cjpegでJPEG作り直してるやけど。
ちょっと質問がマニアックすぎるか??
0130nobodyさん02/12/01 21:48ID:+x4ey74A
訂正(間違った)

↓こいつが変
$image->Scale("$new_x[0]x$new_y[0]");

でもQuantizeもファイルサイズ落ちない。
結局どっちもサイズ落ちない。どうしてだろ
0131nobodyさん02/12/02 10:03ID:???
qualityっていう設定項目あるけど
うちでうまく動かないなぁ

教えておくれ。
0132nobodyさん02/12/02 10:41ID:???
WinのPPMじゃqualityうまく動かないYO!
$i->Set(quality => 30);
で圧縮率決められる1-100
デフォルトは75くらいだったかな?
0133nobodyさん02/12/03 16:44ID:HKnS3bC9
スンマセン さくらの共用サーバでPerlMagickを使いたいんですが
どうやってインストールして
どうやって呼び出すのでしょうか?
0134nobodyさん02/12/03 16:57ID:???
インストールされてるのか?
0135nobodyさん02/12/03 17:02ID:HKnS3bC9
されてないんで
ユーザー権限でコンパイルして使おうと思うんですが・・・
できないのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています