Perlモジュールについて
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2001/08/15(水) 07:47ID:???モジュールの使い方とかリンクは>>2-10さんが出してくれるかも?!
0568561(563)
2005/04/12(火) 11:35:07ID:???レスありがとうございます。大変勉強になります。
>>566は、サーバ(レンタルサーバー)上でこの通りに
配置すれば、GDが使えるということですね?
週末にチャレンジします。8xx/6xx/5xxというのは、
ビルド番号のことでしょうか?
0569nobodyさん
2005/04/12(火) 12:22:11ID:???libgd や GD.dll はバイナリなので、CPUやOSが違えば互換性は無い。
>> 566 のリンク先のバイナリは Windows 用なので、
君のレンタルサーバが Windows サーバだったら動く。
Linux や BSD や Solaris だったら別のものを用意せんといかん。
0570568
2005/04/14(木) 22:12:31ID:???あ、レンタルサーバーはLinuxなんですよ。。perlは5.6.1です。
これだとどういうファイルが必要になるでしょう?
0571nobodyさん
2005/04/14(木) 23:05:14ID:???0572nobodyさん
2005/04/15(金) 00:04:54ID:???telnet使えなくてもtelnet.cgiとかでコンパイルすれば大丈夫
で出来上がったバイナリファイルを指定してGD.pmもコンパイル。
コンパイルをシステム側で抑制しているサーバーって見たことが
ないので知識と根性があれば大抵のサーバーで使える。
0574nobodyさん
2005/04/15(金) 09:43:13ID:???apache が chroot されてるから届かないよ
まあ cc 使えるかどうかは割と簡単に確かめられるから
だめもとでトライしてみるのもいいのでは
ただし cgi はたいてい実行時間制限があって
コンパイルに時間かかりすぎると途中で kill されるから
そのへんは気をつけてな
0575nobodyさん
2005/04/17(日) 23:19:11ID:1jvVN0xc///////////////////////////////////////////////////////////////
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で同様のエラーがでます。
どなたかご教示願えますでしょうか。
0577nobodyさん
2005/04/18(月) 01:35:30ID:YPbpVeWk/////////////////////////////////////////////////
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
///////////////////////////////////////////////
0578nobodyさん
2005/04/18(月) 02:52:35ID:???GP/PARI を自分で取ってきて自分でコンパイルすれば、たぶん行けるだろう
0579nobodyさん
2005/04/20(水) 19:04:30ID:LU+xBsUrPerlのバージョンは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
0580nobodyさん
2005/04/22(金) 07:43:02ID:???0582nobodyさん
2005/04/22(金) 15:09:02ID:???やっぱり無いっすか。
0583nobodyさん
2005/04/22(金) 20:06:39ID:a861lL+B0585nobodyさん
2005/04/23(土) 17:14:39ID:???<img src=***>で張られた画像のサイズを取得するモジュールって
ないですか?
0586nobodyさん
2005/04/23(土) 17:31:41ID:???君のやりたいことがいまいちよくわからないが、以下のうちのどれだ?
a. HTMLの中から img タグの width と height 要素を切り出す
b. 画像の URL に http の head メソッドをかけて Content-size を教えてもらう
c. 画像のバイナリデータを読み込んで縦横のピクセル数を得る
やりたいことが c だとすると、LWP で画像をダウンロードしてきたのちに
GD とか ImageMagick とかに食わせるんだろうな
0587ero YahooBB219045096084.bbtec.net/
2005/04/23(土) 17:46:18ID:???ぇけ ハァう w う
え る お う ww
と ァ w kw ぇ
っし のぉ ハ はw
0588nobodyさん
2005/04/23(土) 21:25:00ID:nbVaG/Ifお薦めがあったら教えて頂けると嬉しいです。
0589nobodyさん
2005/04/23(土) 21:40:42ID:???やはりモジュールがいいのか?
0590nobodyさん
2005/04/23(土) 22:23:24ID:???0591nobodyさん
2005/04/23(土) 22:43:22ID:???http://search.cpan.org/~rjray/Image-Size-2.992/Size.pm
>>588
http://search.cpan.org/~steve/String-Random-0.20/Random.pm
>>581
lzhって特許とか関係してるのかな? なければ作ろうとか考えてたり
0592579
2005/04/24(日) 02:21:08ID:???システム日付がおかしくなっていたのが原因でしした。
日付を直したところ正常にmakeできました。
0593nobodyさん
2005/04/24(日) 02:28:44ID:WR/rL9mQ0595nobodyさん
2005/04/24(日) 12:44:28ID:XJcjSE5Kすみません、ちょっと違います。
後、誠に言いにくいのですが、白い物が出るのが早すぎます。
0596585
2005/04/25(月) 12:28:03ID:???掲示板にイメタグで巨大な画像を貼られることを回避したく
if($img_width > 1024 or $img_width * $img_height > 786432){
&error("長辺1024px、短辺768px以内の画像にしてください");
}
なことをしたいので・・・2番かな。
アップロードされたほうは3番みたいな感じで処理しています。
0598nobodyさん
2005/04/27(水) 21:28:48ID:???うにしすの持ってるgifの特許は期限切れになったんで、開発して問題ない、はず。
0599585
2005/04/28(木) 10:00:39ID:xqjwncUuImage::Sizeじゃできない・・・
0600nobodyさん
2005/04/28(木) 12:22:58ID:???いつ何時サブマリン特許が浮上してこないとも限らないが
(やっぱアメリカの特許制度って腐ってるよな)
とりあえず現時点で Lempel-Ziv Huffman について既知の特許問題は無い
0601nobodyさん
2005/05/01(日) 22:53:31ID: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;
0603nobodyさん
2005/05/02(月) 00:19:08ID:8JuiCVzy0604nobodyさん
2005/05/02(月) 01:45:15ID:EWD4DFmbとかだめですか?
0605nobodyさん
2005/05/02(月) 02:19:08ID:8JuiCVzy0606nobodyさん
2005/05/02(月) 08:39:52ID:???ttp://search.cpan.org/~broq/Sub-Lexical-0.81/Lexical.pm
0607nobodyさん
2005/05/03(火) 00:05:42ID:???それはそれとして関数は
*a = \&A::a;
とかでいけた気がするが。
0608nobodyさん
2005/05/03(火) 01:16:05ID:caOmn6uQうむむ、それソースフィルタつかってますね・・・
ソースフィルタ使えばもっといいもの作れるのですが、
出来ればソースフィルタは避けたいところです。
>>607
Exporterはファイル内で宣言した別のパッケージ(useで直接指定不可)には使えません・・・
それに、@EXPORTに入れたシンボルは外部からモジュールを使うパッケージまでにも、
影響を及ぼしてしまうので、useで直接指定可能なパッケージ名を使ってもペケです。
(@EXPORT_OKは下記の理由でペケ)
>とかでいけた
パッケージ宣言するごとにインポートするのは面倒くさいです。
0609nobodyさん
2005/05/03(火) 08:21:20ID:???>Exporterはファイル内で宣言した別のパッケージ(useで直接指定不可)には使えません
使えるよ。Archive:Zipとか見てみな。
実のところ、現在のPerlではそれしか方法はないのでそうせざるを得ない。
%EXPORT_OK = ( _private => [ ... ] );
とでもするんだね。
0610nobodyさん
2005/05/03(火) 17:11:56ID:Xf32EeHr半角、全角が混ざっている文字列(@wk_list[0])の中からsubstr関数
を使って先頭から30文字を抜き出した場合、30文字目が全角文字の
半分にかかると、文字化けをしてしまいます。良い方法はないでしょうか?
0611nobodyさん
2005/05/06(金) 13:15:54ID:MRefnmPG↓試したコード
$_ = "あいうえおかきくけこさしすせソタチツテト";
$_ = substr($_, 0, 30);
print;
0612nobodyさん
2005/05/06(金) 16:03:27ID:MRefnmPG0613nobodyさん
2005/05/06(金) 16:32:44ID:???0614nobodyさん
2005/05/06(金) 16:42:32ID:R4TT2qvRwwwwwwwっうぇっおkうぇうぇっwおkwwwwwwwwwwww
wwwwwwwおkwwwwwww
wwwwwwうぇwwwwwwwwwwwwwwおk
wwwwwwwwwwwwwうぇwwwwwwうぇw
うはっ
0615nobodyさん
2005/05/06(金) 20:38:57ID:B7UNGWre(;´Д`) ・・・
0616nobodyさん
2005/05/06(金) 21:10:09ID:???0618nobodyさん
2005/05/09(月) 22:20:26ID:orrUviAr調べているのですが、どなたか方法はご存じでしょうか?
Spreadsheet::ParseExcel などを試してみたんですが、
値しか取り出せないようで、困っています。
ExcelのデータをXMLで保存して、それをPerlで解析するしかないのか?
と思ってるのですが……。
分かる方、ご教示お願いします。
0619nobodyさん
2005/05/09(月) 23:23:44ID:???マニュアルだと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};
0621nobodyさん
2005/05/12(木) 23:49:39ID:???lexec.plってのがかなりいかしてるよ
0622nobodyさん
2005/05/25(水) 21:11:55ID:Wia7J9Xqヘッダー情報みてみたら
From:あほあほ
しかないんですよ
メールサーバ側でエディタでメール読むと
From:あほあほ <example.com>
ってあるんですけど <example.com>はどこいったの?
0623考えて2日目。
2005/05/28(土) 02:44:42ID:tg0DwAChモジュールのインストール方法を教えてください。
ActivePerl PPM リポジトリでコマンドプロンプトから
ppm>install DBI
Unknown error at C:/Perl/site/lib/PPM/InstallerClient.pm line60
Error: connect: Unknown error
となって、コマンドプロンプトに戻ります。
どうなってんの?
0624nobodyさん
2005/05/28(土) 06:38:41ID:???0625考えて3日目。
2005/05/28(土) 13:24:56ID:tg0DwAChそれでも
Unknown error at C:/Perl/site/lib/PPM/InstallerClient.pm line60
Error: connect: Unknown error
となります。なぞ?
0626nobodyさん
2005/05/28(土) 16:53:30ID:???ActivePerl は DBD::mysqlのPPMアーカイブを提供しています。あなたに必要なことは以下のように打ち込むだけです
ppm
install DBI
install DBD-mysql
HTTP経由でモジュールを取り出し、それらをインストールします。 WWWプロキシー・サーバーを使う必要があれば、環境変数HTTP_proxyを設定しなければなりません:
set HTTP_proxy=http://my.proxy.server:8000/
ppm
install DBI
install DBD-mysql
もちろん、ホスト名my.proxy.serverとポート番号8000をあなたのローカルな値で置き換えなければいけません。
もし上記の手順がうまくいかなければ、ActivePerlを最新バージョンにアップグレードしてください。build623より前のものには問題があることがわかっています。
PPM 3にはDBD::mysqlがリポジトリにないと言われています。そのため PPM2と比べるとPPM 3 はお勧めできません。PPM3を使う必要があれば、以下のようにしてください。
ppm
rep add PPM2 http://ppm.activestate.com/PPMPackages/5.6plus/
rep 2
install DBI
install DBD-mysql
0627nobodyさん
2005/05/28(土) 17:05:16ID:???俺は PPM 使ってないからわからないんだが
エラーメッセージ様のおっしゃられる InstallerClient.pm の60行目周辺には何が書いてあるんだ?
0628nobodyさん
2005/05/28(土) 17:12:57ID:???0629nobodyさん
2005/06/01(水) 11:05:03ID:fUYI7BlOここのMSN.pmってどこで拾えるか知ってる人いる?
CPANには登録してないし、英語もイマイチわかんないしお手上げ
0630nobodyさん
2005/06/01(水) 11:42:17ID:???よくわからんがそのURLをリンク先に持つページをぐぐると
でてくる
http://www.duncanlamb.com/sdba/
の最新版を落としてみたらMSN.pmというのが同梱されていた。
0631nobodyさん
2005/06/01(水) 12:02:43ID:???おお!激しくさんくす!
前バージョンだけど大きく前進しました
CPANにNet::MSNって似たようなのがあって
中身を見比べてみたかったんです
>URLをリンク先に持つページ
これでもう少しぐぐってみます
0632nobodyさん
2005/06/08(水) 23:42:26ID:???何回実行されているとか分析してくれるモジュールってないですか。
0633nobodyさん
2005/06/09(木) 10:03:11ID:???Class::DBIはよく知らんがへDBのアクセスはDBIを使ってたはずなので
DBIのプロファイラ使えるんじゃない? search.cpan.orgでDBI profile
あたりをキーに探すといくつか出てくるよ。
0635nobodyさん
2005/06/15(水) 14:18:31ID:???0638nobodyさん
2005/06/23(木) 21:23:42ID:???Exception 410: no images defined `Annotate' at 〜〜〜
ってエラーが出ます。
(ちなみにこのCGIは他の鯖では動きます。ローカルとFASでは動きます)
Exception 410でぐぐっても、使用者側(CGI設置者)の問題ではないように思えますが、いかがな物でしょうか?
ttp://blog.churayuki.net/archives/cat_71339.htmlの2004年05月17日あたりに記事が載ってます。
設置者側の問題でしょうか?
よろしくおながいいたしまつ。
0640nobodyさん
2005/06/28(火) 06:47:58ID:???0641
2005/07/01(金) 17:25:37ID:F0qNDlfi使い方がよくわかりません onz.
0642nobodyさん
2005/07/01(金) 18:23:24ID:???http://search.cpan.org/~tjmather/HTML-FillInForm-1.05/lib/HTML/FillInForm.pm
ありがとうございます
FillInFormちょっとよくわからいんですが
<select>の値が同じだったら selectedにするような処理をしたかったのですが、
HTML::TemplateのLOOP使って、その中でIfでselected付けたりしましたが、
FillInFormでもできるのでしょうか
年月日のフォームつくるとき、今日の年月日と同じだったらselectedするような処理です
0644nobodyさん
2005/07/01(金) 22:12:53ID:???ありがとうございますとか言ってるけど読んでないね?
しょうがないなぁ。
http://perldoc.jp/docs/modules/HTML-FillInForm-1.04/FillInForm.pod
0646nobodyさん
2005/07/02(土) 17:02:06ID:???まあ、フォームのままでreadonlyとかにしとけばいいって話もあるけど。
0647
2005/07/08(金) 16:29:07ID:GBMALmOB誰かおしえて
0648647
2005/07/08(金) 18:25:03ID:GBMALmOB<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 }],
}]);
}
これだと外側がだめ
わかんねーす
0649JAPU
2005/07/08(金) 21:31:26ID:???$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 を使うと綺麗に書けます。多分。
0651nobodyさん
2005/07/12(火) 22:50:02ID:fIbE4KUFpingは返ってくるのに、port 80へ繋ぎにいけないみたいなんだけど
0652651
2005/07/13(水) 12:14:36ID:???しかしここ、ホント人いないね
0653nobodyさん
2005/07/20(水) 02:43:32ID:???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>";
動きません。エラーメッセージを読んでもさっぱりわかりません。
0654nobodyさん
2005/07/20(水) 03:03:40ID:???どこらへんからコピペしてるんですか?
0655nobodyさん
2005/07/20(水) 03:20:12ID:???Perlモジュールの日本語訳ファイルからです。
状態情報を保持し自分自身を参照するURLの作成:
の項目のところをコピーしてます。
0656nobodyさん
2005/07/20(水) 04:09:09ID:???参考書もないのに言語を学ぼうとするのは無理というものです。
0657nobodyさん
2005/07/20(水) 14:07:39ID:???お勧めはありますか?
0658nobodyさん
2005/07/20(水) 14:46:42ID:???CGI - 簡単なCGI(Common Gateway Interface)クラス
http://perldoc.jp/docs/modules/CGI.pm-2.89/CGI.pod
0659658
2005/07/20(水) 14:51:50ID:???0660nobodyさん
2005/07/20(水) 15:18:30ID:???納期の迫った仕事だったりするのかな?
同僚や上司に迷惑かける前に、「ごめんなさい。できませんでした。」と
今のうちから謝っておいたほうがいいと思う。
そこで投げたらそこでおしまい。
若いんだったら、どんどん突き進んでみろよな。
責任は上司にふっかければ桶だから。
責任が取れない上司だったらそれを切れ。
0662nobodyさん
2005/07/20(水) 21:04:57ID:???0663nobodyさん
2005/07/20(水) 22:32:44ID:???「投げる」のと「できないことを告げる」のは違うよ。
「時間がかかってもやってね(勉強になるから)」かもしれないし、
「そりゃこっちでフォローしなきゃ(時間がないから)」かもしれない。
もちろん仕事と関係なく勉強してるんなら がんばれー としか言えないのですが。
0664nobodyさん
2005/07/20(水) 22:46:32ID:???仕事と関係なく、趣味でPerlやってます。
やっぱり、仕事でプログラミングするとそんなに早く覚えるものですか?
なるほど、プログラマーはITドカタと陰口たたかれる理由もなんとなく
わかるような気がする。本当に心から、尊敬をこめて。
お疲れ様です。
0665nobodyさん
2005/07/20(水) 22:51:02ID:???0666nobodyさん
2005/07/20(水) 22:55:33ID:???上司に「間に合わないかもしれないです」という勇気は必要でしょ。
能力あるのにあちこちの会社を漂流してるような人はたいてい
コミュニケーション能力の欠如が原因だと思う。
納期前日なのに1行も書けてなくて、どうにもなんなくなって納期当日に
失踪しちゃうような人もいるし。
>>663
同意。
>>664
俺は趣味でやってる時の方が覚えが早かったな。
ただ知的好奇心で突っ走ってれば良かったからね。
フリーのプログラマだけど、、スケジュール管理さえちゃんとできれば
気楽な仕事だよ。気が向いた時にコード書いて納期はきっちり守って
あとは遊んでればいい。
■ このスレッドは過去ログ倉庫に格納されています