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

Perlモジュールについて

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

モジュールの使い方とかリンクは>>2-10さんが出してくれるかも?!
0136nobodyさん02/12/03 18:06ID:???
WindowsのActivePerlで
ImageMagickの最新版いれたいんですが
PPMで入れると古いのしか入りません

http://www.dylanbeattie.net/magick/download/
から取ってきて--locate=**で入れても
一応入ることには入るのですが
実際に動きません・・・
どうすれば使えるのでしょうか?
0137nobodyさん02/12/03 19:39ID:???
>>130 136
ttp://sugachan.dip.jp/download/
これ使ってみ。
0138nobodyさん02/12/03 19:40ID:???
>>135
さくらに聞け。
自領域にインストールできるなら use lib なりしてパス通せ。

>>136
エラーメッセージは?
0139nobodyさん02/12/03 19:45ID:???
>>137
どなたでつか?(;´Д`)
更新してまだ10分立ってないのに転載されてる
0140nobodyさん02/12/06 02:46ID:eehXM/N6
ttp://sugachan.dip.jp/download/joyful.php
コレ使いたいんですが
さくらのサーバでPerlMagickをコンパイルしようと
Magick.xs:81: magick/api.h: No such file or directory
と出てコンパイル出来ません
どうすればコンパイルできるのでしょうか?

それかコンパイル済みのバイナリをダウンロードできるところは
ないでしょうか?
0141nobodyさん02/12/06 02:50ID:eehXM/N6
ちなみにさくらのサーバは
FreeBSD4.6みたいです。
0142nobodyさん02/12/06 08:52ID:???
>>139
自作自演って言いたいのね。
0143nobodyさん02/12/07 21:14ID:???
>>140
うぜ。
>Magick.xs:81: magick/api.h: No such file or directory
読めよ馬鹿。api.hがないって言ってるじゃないか。
必要ならアップしろよ。
0144nobodyさん02/12/08 10:53ID:???
アプロダにアップしたりしてな。
0145nobodyさん02/12/09 15:16ID:???
>>143を温かく翻訳
モジュールのインストールには、サーバ権限とか知識もそうですが、
なによりも、1,2行の英文くらいは読めるスキルが重要ですよ。
014614302/12/09 22:31ID:???
>>145
翻訳ありがとう。
ていうか、学校で何習ってんだ? リアル厨房レベルの英語だろ? 厨房以下かてめー。>>140
0147nobodyさん02/12/10 00:28ID:???
>>146
うるせー
0148nobodyさん02/12/10 00:28ID:???
>>147
なにをー

0149nobodyさん02/12/10 19:26ID:???
まぁまぁ・・お二人とも落ち着いて。。。
0150nobodyさん02/12/14 17:49ID:wCLHLBJq
DBIモジュールってピュアPerlですか?
0151nobodyさん02/12/15 12:19ID:???
archive::lzhとかないかなー。
zipとかはあるんだよね。
0152nobodyさん02/12/15 13:22ID:UwocQ4Wo
>>151
0153nobodyさん02/12/16 23:15ID:???
>>152
続きが気になる……。

続き、あるよな?
0154nobodyさん02/12/17 08:36ID:???
>>153
152はCPAN Searchで検索してみたんだけど
多分見つからなかったんだよ。
0155nobodyさん02/12/26 02:31ID:???
どなたか Win2kのActivePerl5.8.0で動くGDモジュール(gifでなくpngを描けるもの)の
ありかをご存知ないですか?
ppmで見つかるのは5.6用のものらしくダメっぽいです

あるいはCPANから取ってきてコンパイルするしかないのでしょうか…
どなたか(cygwinで)成功された方いらっしゃいませんか?
0156 15503/01/02 02:33ID:???
結局perlを5.6.1に戻しました…
0157nobodyさん03/01/13 07:35ID:D+2O0or4
>155
ttp://theoryx5.uwinnipeg.ca/ppms/
0158山崎渉03/01/15 13:32ID:???
(^^)
0159nobodyさん03/01/15 22:10ID:???
Image-MagickのActivePerl5.8で動くppmってどこにありますか?
155と同じように5.6に戻したほうがいいのかな?
0160 15503/01/15 23:58ID:???
>157
ありがとうございます.見事動きました.
#本当はこんな何もわからずに使っちゃダメなんだろうけど
016115703/01/18 14:51ID:???
>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
大丈夫、漏れもよく分からん。
0162nobodyさん03/01/26 07:03ID:???
激しく禿同
0163nobodyさん03/01/27 14:39ID:???
>>162
二重強調はうざいとつっこんでみる。
0164山崎渉03/03/13 17:25ID:???
(^^)
0165nobodyさん03/03/19 12:05ID:b5iFnjmv
BUGなら諦めるから、誰か教えてくれ!
This is perl, v5.6.1 built for i386-linux
+
Net-Telnet-3.03.tar.gz
で、特定のアカウントだけログインできないのだが、
$port23 ->login("NASDAQ", "S&P500");
の様に、パスワードに「&」が入るとエラーが出る。
うまい回避策は無いだろうか。
0166nobodyさん03/03/19 12:43ID:???
>>165
\&でエスケープするとどうなる?
それかだぶるくぉーとをシングル苦ぉーとにするとか
0167nobodyさん03/03/19 12:52ID:b5iFnjmv
>>166
\& も && も駄目だった。
ダブルクオートもシングルクオートも駄目だった。
他には何か有りますか?
0168nobodyさん03/03/19 13:16ID:???
>>167
パスワード変更する・・・
0169nobodyさん03/03/19 16:48ID:b5iFnjmv
>>167
変更したら怒られる。と言うか騒ぎになる。

別IDでログインしてからsuする方法で模索開始!
駄目なら、プログラムのラッパー作って、Sビット立てたる。

モジュールを解析する気は無いらしい・・・
0170nobodyさん03/03/19 16:54ID:???
>>169
モジュール解析の前に。Dump_Log をとってみ。
そのログからとりあえず理由はわかると思われ。
0171nobodyさん03/03/21 17:29ID:pOguTMzc
PDFを出力できるモジュールってありますか?
0172nobodyさん03/03/21 17:52ID:???
>>171
PDFlib使ったら?
0173nobodyさん03/03/21 20:21ID:pOguTMzc
PDFlibってフリーでつか?
簡単にコーディングできまつか?
0174 03/03/22 19:26ID:2uze5ULU
dmake.plってどこにあるの?
0175あぼーんNGNG
あぼーん
0176nobodyさん03/03/23 01:03ID:???
>>4
それprologのmember述語だな。
0177nobodyさん03/03/31 23:42ID:lrdCZ3fP
PerlでCGIを組むときのお勧めモジュールを教えてください。

・セッション管理
・ユーザ認証
・ロジックと表示部の分離

それぞれどんなモジュールがありますか?
0178nobodyさん03/04/01 03:46ID:???
>>177
http://sl.edge.jp
0179nobodyさん03/04/01 23:12ID:y/azGnm1
>>178
ありがとう。
ご紹介のWebフレームワークの出来は実際のところ
どうなのでしょうか?業務Webアプリに使えますか?
使いやすさ、品質、実績、などは?

それからドキュメントは付属のものしかないのですか?
市販本などはないのでしょうか?
0180!17803/04/01 23:46ID:???
ttp://itpro.nikkeibp.co.jp/free/NOS/NEWS/20030213/2/
業務で使った実績はアリだそうで。

ttp://sourceforge.jp/mail/?group_id=448
ここのMLのログのアーカイブを覗いたら、

>ちょっと試してみた方はお気付きかと思いますが、結構動作させるまでの敷居
>が高いです。Sledge::Doc::Tutorial も前提知識をかなり必要としていますし。。

>samples の充実と sledge-setup ツールの充実は、近々のTODOとして認識して
>ますので、もう少しご辛抱ください。もちろん、パッチ歓迎です!

…だそうです。

その後にクラス図のファイルをアップしましたって記事も。
ドキュメント類はこれからですかね。
0181nobodyさん03/04/02 17:40ID:???
perl5.8.0 MSWin32-x86-multi-thread で、
perldoc の改行位置がおかしくなったり
pack_sockaddr_in が使えなく(?)なったりしたのですが、
同様の症状が出た方いませんか?
0182 ◆hMJAPH9PWA 03/04/03 00:19ID:???
>>181
perldocはおかしかった。
とりあえず576行目(my ($tmpfd, $tmp) = File::Temp::tempfile(UNLINK => 1);)の後に
binmode($tmpfd, ':crlf');
を追加したら直ると思う。

pack_sockaddr_in()は使おうと思った事がないのでわからないな。
0183nobodyさん03/04/03 07:36ID:???
ありがとう。助かります。

pack_sockaddr_inは、私の勘違いでした。
pack_sockaddr_inの引数に、getservbyname, gethostbynameで所得した値を設定していた事が原因でした。
pack_sockaddr_in(80, 'www.example.com')で問題無く動作しました。
単に、使い方を誤っていただけで。お騒がせしてスミマセン。
0184nobodyさん03/04/03 13:34ID:KIsujz3E
>>183
> pack_sockaddr_in(80, 'www.example.com')で問題無く動作しました。
これで本当にうまくいった???
0185nobodyさん03/04/03 16:00ID:???
ゴメン。inet_aton忘れてた
0186nobodyさん03/04/03 20:13ID:pMBEJ0AD
fieldsとかClass::StructとかClass::Fieldsとか見つけたんだけど、
自分でモジュールを作るとき、どんな風に組み合わせるのがエレガントですか?
0187nobodyさん03/04/05 09:21ID:???
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);
0188nobodyさん03/04/05 16:15ID:???
Class::Struct、、ソースがごたごたでよくわからんけど、
requireする処理が入ってないから、見えるところにクラス(パッケージ?)
を置いておけばちゃんと動くかと。実験してないけど。
0189 ◆hMJAPH9PWA 03/04/05 20:58ID:???
struct()する前に
Class::Struct::printem(1);
としておくと、evalするコードを出力してくれるよ。

しかしClass::Structってクラス設計というより単なる構造体を作成するユーティリティなんじゃないかと思われるが…。
0190nobodyさん03/04/06 10:59ID: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
0191nobodyさん03/04/08 04:08ID:O1bDvd1L
構造体が、型であるところがいいんだよ。

ハッシュはねぇ…ハッシュはねぇ…。
0192あぼーんNGNG
あぼーん
0193あぼーんNGNG
あぼーん
0194あぼーんNGNG
あぼーん
0195あぼーんNGNG
あぼーん
0196山崎渉03/04/17 12:08ID:???
(^^)
0197nobodyさん03/04/18 11:29ID:qP4xwYVk
Sledgeって何なの?
難しい文字の羅列で説明見ても分からんのだけど、
思いっきり車輪の再発明ではないの?
0198山崎渉03/04/20 06:02ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0199nobodyさん03/04/24 13:41ID:???
>>197

再発明。ただし、再発明=悪とは限らない。
実際の話、自社の開発スタイルに適したフレームワークを確立してるとこは強いよ。
(Sledgeがその器かどうかは知らんが)
0200nobodyさん03/04/30 03:18ID:DNJ+ul9N
フレームワークって、
自分で再発明を繰り返さないためのものでしょ。

セッションの処理とか、フォームのデータの扱いとか、
いままで毎回毎回似たようなコードを書いていたようなものを、
うまくフレームワークにまとめてくれてるんだから、
ありがたいと思うよ。
0201nobodyさん03/05/08 14:23ID:J45m1fTB
Apache::Session::Mysqlで、
セッションをロードしたとき、untieなどでロックを解放しなかった場合、
次のセッションでどうしてもApache::Session側が必ず固まってしまうのですが
なにか対処法ないでしょうか・・・

ちなみにLinux/apache 2/mod_perl 1.99.09/Apache::DBI/MySQL 4.0です
0202nobodyさん03/05/08 14:36ID:J45m1fTB
セッションロードしてすぐに別のハッシュ/変数にコピー。
その後すぐuntieでいける。ここまで2行なのでエラーは起こらないはず
0203あぼーんNGNG
あぼーん
0204あぼーんNGNG
あぼーん
0205nobodyさん03/05/12 01:40ID:???
PurePerlのフレームワークってないの?
客指定のサーバに作ること多いんで・・・。
XMLパーサはXML::Perser::LiteってPurePerl?MovableTypeで使ってるみたいだけど。
0206nobodyさん03/05/12 10:27ID:???
>>205
Sledge

ちょっと上のログくらい見てけれ。
0207nobodyさん03/05/17 18:09ID: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を使うとこの現象は起こらないのですが。
0208あぼーんNGNG
あぼーん
0209nobodyさん03/05/17 20:27ID:???
・ォ・ュ・ウ、ホ・ニ・ケ・ネ
シウシエシオシカシキ
0210nobodyさん03/05/17 20:29ID:???
、オ、ケ、ャ、タ、隍ハイカ、
0211nobodyさん03/05/17 20:55ID:???
>>209=>>210
(・∀・)ジエーン

で、>>209の2行目は何よ?
0212209,21003/05/17 21:18ID:???
自演つーか、強制的にEUCで送出するブラウザのテストなんだが・・・・

> で、>>209の2行目は何よ?
アイウエオ
0213nobodyさん03/05/17 22:38ID:???
>212
>211じゃないが一言言わせてくれ。


 こ ん な と こ で そ ん な テ ス ト す ん な !
0214nobodyさん03/05/17 22:46ID:???
>>213
す、すまん・・・
沈没スレでやるべきだった。
0215山崎渉03/05/22 02:01ID:???
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
0216あぼーんNGNG
あぼーん
0217あぼーんNGNG
あぼーん
0218あぼーんNGNG
あぼーん
0219nobodyさん03/07/30 20:21ID: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
0220あぼーんNGNG
あぼーん
0221あぼーんNGNG
あぼーん
0222nobodyさん03/07/30 23:19ID:???
>>219
no body, and not multipart って出てるだろ
モジュールが原因かどうかは自分で何をuseしてるか見ればわかるだろ
0223あぼーんNGNG
あぼーん
0224nobodyさん03/07/31 18:03ID:???
化石スレが上がったついでに質問。

Compress::Zlib なんだけど、Compress::Zlib::memGunzip が undef を
返す時ってどんな時?ソース見たんだけど、さっぱりわからなくて…。
0225nobodyさん03/07/31 18:22ID:???
ヘッダーが取り除けない時(恐らくgzipでない)
inflateInitに失敗した時(考えにくい)
inflateでZ_STREAM_ENDにならなかった時
(Z_ERRNO Z_STREAM_ERROR Z_DATA_ERROR Z_MEM_ERROR Z_BUF_ERRORのいずれか)
CRCチェック失敗した時(binmodeとかの問題か?)

って感じ?
0226nobodyさん03/07/31 18:52ID:???
>>225 おぉ!!サンクス!
レスを読むと、ヘッダーと CRCチェックっぽいナァ…。
022722503/07/31 20:17ID:???
>>226
ソースそんなに難しくなかったYo
ちゃんと嫁

022822403/07/31 22:23ID:???
>>227
ちゃんと読んでも解らないほどの実力なんだ…<俺
やはり、データがおかしかった事が判明。よって、ロジックも結構修正する羽目になった
0229nobodyさん03/08/17 18:01ID:36kz8z8A
MSN.pm
http://www.adamswann.com/library/2002/msn-perl/
0230nobodyさん03/08/18 19:12ID:???
ほしゅ
0231nobodyさん03/09/16 17:03ID: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 にインストールできますか????
0232nobodyさん03/11/20 23:45ID:???
形態素解析エンジンchasenで付属のPerlインタフェイスChaSen.pmがビルドできません。
Makeは通るのですが,実行時にシェアドライブラリが見つからないとエラーが出てしまいます。
どうやら,chasenが利用するdartsライブラリ関連のリンクに関する問題のようです。
モジュール自体はc++で書かれていて私ではお手上げです。
だれか助けてください。
0233nobodyさん03/11/21 00:34ID:???
>>232
この辺では解決しませなんだか。
http://chasen.aist-nara.ac.jp/chasen/ml.html.ja
http://www.google.co.jp/search?q=perl+chasen+make+darts
0234nobodyさん03/11/21 01:17ID:???
>>232
環境もエラーメッセージも書かれてないのにどうやって助けてもらうつもりなのかと。
023523203/11/21 22:20ID:???
>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もインストールしています。
0236nobodyさん03/11/22 01:05ID:???
>>232
えーといまいちよくわからんのだが。
「ビルドできません」っていうのは正しくビルドできませんって意味?make は通ってるんだよね?
で、/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/Text/ChaSen/ChaSen.so がないって言われてるの?
それだと「dartsライブラリ」って関係ないような気もする。
perl -e 'print join " ",@INC' ってやったらどうなる?
■ このスレッドは過去ログ倉庫に格納されています