CGIに依存しないPerlの話題一般
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2001/05/31(木) 21:49ID:bKRSBFew・モジュール、オブジェクト指向プログラミング
・Perl6や.NET対応など
・各種GUIツールキット(Perl/Tk, Gtk-Perlなど)
・他言語による拡張(Inline::*, XS, Swigなど)
についてマターリと語り合うスレッドです。
#CGI関連の話題は、なるべく専用スレッドで。
0386 != 384
01/10/26 17:18ID:???彼は、〜〜級者、と言うキーワードに酷く敏感な様子 (p
0387名無しさん@お腹いっぱい。
01/10/26 17:42ID:???http://www.angelfire.com/ak5/2ch-web-program/kako/979894521.html#825
0388名無しさん@お腹いっぱい。
01/10/26 18:11ID:???0389名無しさん@お腹いっぱい。
01/10/27 00:20ID:e8mRTudG0390名無しさん@お腹いっぱい。
01/10/27 01:58ID:???0391名無しさん@お腹いっぱい。
01/10/27 18:37ID:???0392名無しさん@お腹いっぱい。
01/10/27 22:56ID:???0393Perl上級車
01/10/28 18:00ID:???0394名無しさん@お腹いっぱい。
01/10/28 18:57ID:xDgqA1mbってどうやってやるんですか?
0395Perl上級社
01/10/28 19:03ID:???0396仕様書無しさん
01/10/28 19:06ID:???1)
if($name eq 'tinko pinpin') {
cnt++;
}
--------と
2)
cnt++ if($name eq 'tinko pinpin');
をループさせて速度を測ったら
1)21 wallclock secs (20.95 usr + 0.01 sys = 20.96 CPU)
2)10 wallclock secs (10.23 usr + 0.00 sys = 10.23 CPU)
くらい違いますが、内部ではどのような処理の違いがあるんですか?
アホな私にも分かるように教えていただけませんでしょうか?
0398396
01/10/28 19:10ID:???0399名無しさん@お腹いっぱい。
01/10/28 19:17ID:???0400名無しさん@お腹いっぱい。
01/10/28 19:18ID:????どれくらいの事ができたら「脱初心者」といえるのでしょうか?
??????????????????????????????
0401名無しさん@お腹いっぱい。
01/10/29 01:20ID:???どっかで見た質問。
0402名無しさん@お腹いっぱい。
01/10/29 06:09ID:???0403あげ
01/10/29 16:56ID:???0404[
01/10/29 23:16ID:???0405名無しさん@お腹いっぱい。
01/10/30 17:20ID:???なにが?
0406名無しさん@お腹いっぱい。
01/11/06 21:14ID:0STlIz2Pこんな処理するならこんなコードがベストだよ。みたいのとかです。
あと前でてましたけどこんな処理をすると内部ではこんな事がおきてるよ。
とかでもうれしいです。
0407名無しさん@お腹いっぱい。
01/11/07 00:16ID:???結局アルゴリズムだと思うからム技のこのスレはBMかな・・・
http://pc.2ch.net/test/read.cgi/tech/967778156/l50
後、Cだけど診断室とか
http://www.pro.or.jp/~fuji/mybooks/cdiag/
後半は俺も知らない、正規表現エンジンの実装とか知りたくも無いし (汗;
ちょっとレス違いかなあ・・・
0408名無しさん@お腹いっぱい。
01/11/07 00:33ID:???前半:
Perlクックブックを読む
後半:
ソースを読む
なんて。
0409名無しさん@お腹いっぱい。
01/11/07 01:04ID:???0410名無しさん@お腹いっぱい。
01/11/08 17:16ID:???0411名無しさん@お腹いっぱい。
01/11/09 01:43ID:???いやそれで正しいでしょ。
結局ソース読まないと分からないことは多いし。
ま、個々の関数の処理効率なんかよりも、
書くプログラムのアルゴリズムが最適かどうかの方が、
全体の速度にはるかに寄与する。
アルゴリズムが最適でさらに速度を求めるならインライン C で書くべし。
0412名無しさん@お腹いっぱい。
01/11/09 04:22ID:???Perlメモ
http://www.din.or.jp/~ohzaki/perl.htm
わかりやすい Perl チューニングの話
ミケネコ研究所
http://www.mikeneko.ne.jp/~lab/perl/tuning/
あとはログから_gunzip氏の発言拾うとか。
0413名無しさん@お腹いっぱい。
01/11/10 23:53ID:???0414名無しさん@お腹いっぱい。
01/11/11 01:37ID:???use strict;
timethese(1, {
t1 => q{&addstr1;},
t2 => q{&addstr2;}
});
sub addstr1 {
my($str) = '_' x 1000000;
$str = '';
foreach (0 .. 1000000) {
$str .= '_';
}
}
sub addstr2 {
my($str) = '';
foreach (0 .. 1000000) {
$str .= '_';
}
}
Benchmark: timing 1 iterations of t1, t2...
t1: 2 wallclock secs ( 1.97 usr + 0.00 sys = 1.97 CPU)
(warning: too few iterations for a reliable count)
t2: 3 wallclock secs ( 2.81 usr + 0.00 sys = 2.81 CPU)
(warning: too few iterations for a reliable count)
0415名無しさん@お腹いっぱい。
01/11/11 01:43ID:???0416名無しさん@お腹いっぱい。
01/11/11 10:25ID:???0417名無しさん@お腹いっぱい。
01/11/15 11:30ID:HBIil14t掲示板程度ならオブジェクト使わないほうが効率いいんじゃないかと思うんですが,
どんな時に,どういう風に使えば便利ですか?
いいサンプルや解説ページとかあれば教えてください。
0418名無しさん@お腹いっぱい。
01/11/15 11:50ID:???>「オブシェクト指向使えばいろいろ便利だ。」
まあこう言うのはITオヤジのレベル、オブシェクト指向で彼女は出来ないし、
オブシェクト指向で奥歯に詰まったフライドチキンのカスは取れない
0419名無しさん@お腹いっぱい。
01/11/15 12:35ID:???何がどうすごいんだか分からないんですけど。
実行してもコードがでてくるだけだし。
0420名無しさん@お腹いっぱい。
01/11/15 13:48ID:???平行法で見ると#!がうき出て見える。
より目(交差法)で見ると引っ込んで見える。
0421名無しさん@お腹いっぱい。
01/11/15 16:56ID:???恥ずかしながら>>420のおかげで>>370がやっとわかった。
3Dってあるだろうがヴォケが!>俺
0422名無しさん@お腹いっぱい。
01/11/15 18:59ID:???0423名無しさん@お腹いっぱい。
01/11/15 19:16ID:???0424名無しさん@お腹いっぱい。
01/11/15 22:15ID:???0425名無しさん@お腹いっぱい。
01/11/15 22:34ID:???0426名無しさん@お腹いっぱい。
01/11/15 23:07ID:???0427名無しさん@お腹いっぱい。
01/11/15 23:16ID:???0428名無しさん@お腹いっぱい。
01/11/15 23:38ID:???リンクリスト繋いでるだけだろ?
0429名無しさん@お腹いっぱい。
01/11/15 23:45ID:???0430名無しさん@お腹いっぱい。
01/11/15 23:50ID:???そんなこと誰でも知ってるだろ。(爆笑)
0431名無しさん@お腹いっぱい。
01/11/15 23:58ID:???0432名無しさん@お腹いっぱい。
01/11/16 01:29ID:wuoKPRpJうん、じゃないと万年ヘタレどまりだからね。
0433名無しさん@お腹いっぱい。
01/11/16 02:38ID:???ソース読めとしか言えないなぁ・・・・
Perlは言語だけど、それ自体はCで書かれてるツールみたいなもん
だからね。
ドライバー(Perl書き)に求められるのは上手な車の運転
(常識的なコーディング作法)で、それはPerlに限った事じゃないだろ?
メカ(低レベルな内部構造)が知りたいならメカニック(C屋、asm屋)に
なってソース読むのが一番だよ
0434名無しさん@お腹いっぱい。
01/11/16 05:12ID:???0435名無しさん@お腹いっぱい。
01/11/16 17:16ID:???激しく同意
0436名無しさん@お腹いっぱい。
01/11/17 17:28ID:hx+Z154t先日、OSの再インストールしたんです。WindowsME。
そしたら何故かSOSが使えなくなってるんです。
で、よく見たらなんかそ err 02 とか出力してるんです。
もうね、アホかと。馬鹿かと。
お前な、再インストール如きでエラー吐いてんじゃねーよてんじゃねーよ、ボケが。
再インストールだよ、再インストール。
なんかバックアップし忘れたファイルとかあるし。一家4人で再設定か。これは関係ねーや。
よーしCygwinフルインストールだー、とか言ってるの。これも無関係だな。
お前な、頼むから動いてくれと。
SOSはな、今まで何の問題も無く動いてたんだよ。
ActivePerlのpl2batがいつ捨てられてもおかしくない、
IOリダイレクトは出来るわパイプは繋がるわ、そんな便利さがいいんじゃねーか。バッチファイルはすっこんでろ。
で、再度ダウンロードをしてきたところ、どうやら"#command /c perl ..."だと動くんです。
そこでまたぶち切れですよ。
あのな、command /cなんてきょうび流行んねーんだよ。ボケが。
得意げな顔して何が、command /c だ。
お前は本当にcommand /cが必要なのかと問いたい。問い詰めたい。小一時間問い詰めたい。
俺、何か設定し忘れてるだけとちゃうんかと。
ダレカタスケテ...
0437名無しさん@お腹いっぱい。
01/11/17 18:05ID:???上のような現象に困ってます。
識者の方助けてくだされ…
0438名無しさん@お腹いっぱい。
01/11/19 09:51ID:???日本語でそういうことをやってるサイトってないんですか?
0439名無しさん@お腹いっぱい。
01/11/22 14:39ID:5zsxNECC0440名無しさん@お腹いっぱい。
01/11/23 00:18ID:Xjh4pQJePerlからドライブのボリュームラベルを取得する方法ってありますか?
今のところsystemでdirさせて得てるからダサいんでなんとかしたいっす。
0441名無しさん@お腹いっぱい。
01/11/23 00:53ID:???ワラタ
最後の一行が大事ですな。
漏れはわからんです。。。
0442名無しさん@お腹いっぱい。
01/11/24 06:28ID:???Win32API
0443名無しさん@お腹いっぱい。
01/11/25 18:41ID:???Win32API::File
0444436
01/11/25 22:50ID:???0445名無しさん@お腹いっぱい。
01/11/25 23:09ID:???お〜、ありがとっすー
モジュール、便利なんですねぇ
0446檀那さん、名無しです
01/11/30 11:16ID:???誰かレビューしていただけないでしょうか。
レビューしていただける方がいらっしゃったら改めてここにURLを貼り付けます。
0447名無しさん
01/11/30 19:23ID:???誰もオメーに根性も勇気も期待してねぇーよ。CPANに
登録しねぇーならウゼェーから消えな。
0448名無しさん@お腹いっぱい。
01/11/30 21:22ID:???口先だけのヘタレが大きな口をきくなカスが。
>>446 例えどんな物でも、公開してフィードバックを得ようとするのは有益だと思われ。
ただ2chはどうかな...と思わないでもない。
0449名無しさん@お腹いっぱい。
01/11/30 21:32ID:???*.pmとかmod_perl MLとかperlMLのがいいんじゃない?
0450名無しさん@お腹いっぱい。
01/11/30 21:59ID:???ただ、似たようなモジュールがないかよーく確認してね。
ここに張っても誰かレビューしてくれるとは思うよ。
0451/名無しさん[1-30].jpg
01/12/01 21:19ID:???http://home.att.ne.jp/wind/love_cats/Time-JapanHolidays-0.03.tar.gz
0452名無しさん@お腹いっぱい。
01/12/03 08:25ID:ttBTmnrV0453名無しさん@お腹いっぱい。
01/12/03 10:21ID:???0454名無しさん@お腹いっぱい。
01/12/03 10:25ID:Jpx3osh/ずっと疑問だったんで、誰か教えてください>>453
0455むぎ茶
01/12/03 12:31ID:???スキル低いので細かいところしか指定できんです(_ _)
@ISA は use base のがかっちょいいかと。
@EXPORT よりは @EXPORT_OK のほうがいいのでは?
名前空間分かれてるほうがいいって人多いと思う
0456むぎ茶
01/12/03 12:34ID:???read_holiday_list だけど
use Time::JapanHolidays(holidaysList => "myHolidays.list");
ってして IMPORT で呼んどいてくれるとうれしいかも。
0457むぎ茶
01/12/03 12:39ID:???デフォルトのデータは日本の祝日だけど中身はそうじゃないんで
Time::Holidays.pm のほうがよいのでは?
あと Holiday だけじゃなく MemorialDay もはいってるから
そういう名前もいいかも
あとね日付のデータだけど デフォルトにマージする仕掛けも欲しいです
身近な記念日とかマージして登録できるとうれしい
0459名無しさん@お腹いっぱい。
01/12/05 03:02ID:???0460名無しさん@お腹いっぱい。
01/12/05 20:13ID:vhbZliPLいれようと思ったのですが、ppmでinstall GDGraph としてyesを選んでも
Error installing package 'GDGraph': Could not locate a PPD file for package GDGr
aph
というエラーが出ます。
どうすればいいんですか?
0461名無しさん@お腹いっぱい。
01/12/05 23:40ID:???http://www.geocities.co.jp/Bookend-Soseki/6187/xiaxiu/pg/5.html
0463名無しさん@お腹いっぱい。
01/12/12 06:28ID:???0464名無しさん@お腹いっぱい。
01/12/12 11:45ID:fZlaima3credentials\?\?\?\????????????°????????????????????????????????????´?°??????????±????????????????¶??¨??????????
?????¨??
\???\?192.168.0.1??admin????????\???\¶????root??\?\?\???\?pass??
credentials('192.168.0.1', 'admin', 'root', 'pass');
??\???\?????????\?\?\¨\?\???????????????
401 Unauthorized?????????????????±??????????
\?\???\?\?\???v5.6.0 built for i586-linux
0465すいません
01/12/12 11:57ID:fZlaima3credentialsメソッドがちゃんと動いていないみたいなんです。(使い方を間違ってるだけかもしれないので教えて下さい)
たとえば
サーバ192.168.0.1のadmin権限に、ユーザー名root、パスワードpassに
credentials('192.168.0.1', 'admin', 'root', 'pass');
をコールしてからリクエストを実行しても、
401 Unauthorizedしか返ってくるだけなんです。
ヴァージョンはv5.6.0 built for i586-linuxです。
0466名無しさん@お腹いっぱい。
01/12/12 15:19ID:I43ox8JPperldoc LWP::UserAgent
/credentials
$ua->credentials($netloc, $realm, $uname, $pass)
Set the user name and password to be used for a realm. It is often
more useful to specialize the get_basic_credentials() method
instead.
0467すいません
01/12/13 00:54ID:GtMIZEFMというふうに、第一引数に"ホスト名:ポート"と指定したらできました。
0468名無しさん@お腹いっぱい。
01/12/19 05:09ID:???0469あぼーん
NGNG0470名無しさん@お腹いっぱい。
01/12/20 20:30ID:???0471名無しさん@お腹いっぱい。
01/12/23 10:56ID:DF8u6Gm1sub a {
my @i = (1, 2,3,3,3,3,3,3,3,3,3,33,3,3,3,3,3,334);
return \@i;
}
my $i = &a;
print $_ foreach ( @{$i} );
一応ちゃんと動くみたいですが、
my変数と
C言語の自動変数とは全然意味が違うんでしょうか?
0472名無しさん@お腹いっぱい。
01/12/23 11:26ID:???0473デフォルトの名無しさん
01/12/23 11:30ID:gQHYl0sG何でだろ?リファレンスが有効だとスクラッチパッドって開放されないのかな・・・・
Perlのうんちくは全然分からないや。
個人的には凄く嫌だ(w
どなたか解説キボン
0474デフォルトの名無しさん
01/12/23 11:32ID:???でも気持ち悪いなぁ・・・・
0475名無しさん@お腹いっぱい。
01/12/23 13:35ID:???呼び出し元で使いたいからリファレンスを返すんでしょ。
使いたいものを返せばそれは使える、というのがPerl的なの。
>>473
>>472 がすでに全て解説している。
0476名無しさん@お腹いっぱい。
02/01/01 18:04ID:???0477名無しさん@お腹いっぱい。
02/01/02 00:03ID:0AIkB5pj二時間ほど粘ってみたがダメだった。無念じゃ…。
0478
02/01/02 10:03ID:XJ6nVU2Mどのモジュール?
mingw32とかはだめ?
あと、bcc32付属のmake使わずに、gnu makeつかえば、bcc32でもいけるかもね
0479名無しさん@お腹いっぱい。
02/01/02 13:19ID:???問題はperl.hとperlvars.hがコンパイルエラー。
エラー E2257 C:\perl5.6.1\lib\CORE\perl.h 1755: , が必要
エラー E2257 C:\perl5.6.1\lib\CORE\perl.h 1756: , が必要
エラー E2257 C:\perl5.6.1\lib\CORE\perl.h 1757: , が必要
エラー E2257 C:\perl5.6.1\lib\CORE\perl.h 1758: , が必要
エラー E2141 C:\perl5.6.1\lib\CORE\perlvars.h 22: 宣言の構文エラー
エラー E2141 C:\perl5.6.1\lib\CORE\perlvars.h 39: 宣言の構文エラー
エラー E2141 C:\perl5.6.1\lib\CORE\perlvars.h 22: 宣言の構文エラー
エラー E2141 C:\perl5.6.1\lib\CORE\perlvars.h 39: 宣言の構文エラー
因みに
#line 1755 perl.h
typedef pthread_t perl_os_thread;
です。
他のtypedefは引っかからないのに…お手上げです。
mingw32はよくわかりません。
0480名無しさん@お腹いっぱい。
02/01/02 16:05ID:???mingwはヘッダファイルのコンパイルは通りますが、
Makefileが全然ダメですね。
Config.pmのcc/ld/cppを分かる範囲で書き換えてもまだダメです。
mingwでコンパイルしたPerlがあればいいのかも…。
0481名無しさん@お腹いっぱい。
02/01/02 20:46ID:???0482デフォルトの名無しさん
02/01/03 02:15ID:???bcc32は独自拡張、独自縮小が甚だしいから(GCCもだけど ^^ )
素直にCygwin入れてgcc使った方が良いような。。。。
「,」引っ掛かりなんていかにもbccが原因っぽい
0483_gunzip@ブラウザ変ですよん
02/01/03 05:20ID:???うちの(久しぶりに立ち上げた)Windows環境の場合、
Borland C++ Compiler D:/bcc55
ActivePerl5.6.1 D:/Perl
なんだけど、
1. cp, mv, rm, mkdir等の基本的なコマンドが揃っていること確認。
2. d:/bcc55/bin/coff2omf で D:/Perl/lib/CORE にある perl56.libを
perl56-omf.lib(仮称) に変換。(元のファイルは変更されない)
$ coff2omf perl56.lib perl56-omf.lib
3. D:/Perl/lib/Config.pmを以下のように修正する。(必ずバックアップをとる)
34,35c34,35
< cc='cl'
< ccflags='-nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX'
---
> cc='bcc32'
> ccflags='-O2 -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS '
43c43
< libs=' oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib'
---
> libs='import32.lib cw32i.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib'
0484_gunzip@ブラウザ変ですよん
02/01/03 05:21ID:???< ld='link'
< lddlflags='-dll -nologo -nodefaultlib -release -libpath:"D:\Perl\lib\CORE" -machine:x86'
< ldflags='-nologo -nodefaultlib -release -libpath:"D:\Perl\lib\CORE" -machine:x86'
---
> ld='ilink32'
> lddlflags='-L"D:\Perl\lib\CORE" -c -x -Gn -ap -Tpd -machine:x86'
> ldflags='-L"D:\Perl\lib\CORE" -c -x -Gn -ap -Tpd -machine:x86'
601c601
< libperl='perl56.lib'
---
> libperl='perl56-omf.lib'
668c668
< optimize='-O1 -MD -DNDEBUG'
---
> optimize='-O1 -DNDEBUG'
4. テスト用のXSを書いてみる。
$ h2xs -A -n MyTest
$ cd MyTest
---- MyTest.xs ----
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
MODULE = MyTest PACKAGE = MyTest
void
hello()
CODE:
printf("Hello XS World!\n");
-------------------
0485_gunzip@ブラウザ変ですよん
02/01/03 05:23ID:???# "コマンドが見つからない"云々と文句を言われるかもしれないが、何の問題も無い
出来たMakefileを少し修正する。
774行目からのpm_to_blibの辺りで何故かエラーになるので (なぜだぁ)
pm_to_blib: $(TO_INST_PM)
echo "ahyahya"
-- 以降、ファイル終端まで削除 --
とでもしておく。(取りあえず重要な個所ではないので)
408 行目辺りの(見つからなかったら"subst"で検索)
$(LD) $(LDDLFLAGS) $(OTHERLDFLAGS) $(LDFROM),$@,,$(subst /,\,$(PERL_ARCHIVE)) $(subs 408 t /,\,$(LDLOADLIBS)) $(subst /,\,$(MYEXTLIB)),$(subst /,\,$(EXPORT_LIST)),$(RESFILES)
の部分を
$(LD) $(LDDLFLAGS) $(OTHERLDFLAGS) $(LDFROM),$@,,$(PERL_ARCHIVE) $(LDLOADLIBS) $(MYEXTLIB),$(EXPORT_LIST),$(RESFILES)
と変更。(substってなんだべさ)
$ make
makeはBorland C++に付属のものを利用する。
Mksymlists.pmでuse strictが原因で失敗した場合、strictをコメントアウト(おい)
....これで正常にビルドできるはず。(うちでは出来た)
make後は、test.plに MyTest::hello(); を追加して
$ make test
1..1
Hello XS World!
ok
....でめでたしめでたし。内部APIの利用も問題無かった。
0486_gunzip
02/01/03 05:29ID:???何かの参考になれば、ということで。
#書き込める時と書けない時があるなぁ
■ このスレッドは過去ログ倉庫に格納されています