トップページ⇒php
988コメント342KB

CGIに依存しないPerlの話題一般

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2001/05/31(木) 21:49ID:bKRSBFew
・コマンドラインからのPerl活用
・モジュール、オブジェクト指向プログラミング
・Perl6や.NET対応など
・各種GUIツールキット(Perl/Tk, Gtk-Perlなど)
・他言語による拡張(Inline::*, XS, Swigなど)

についてマターリと語り合うスレッドです。

#CGI関連の話題は、なるべく専用スレッドで。
0362JAPU@見知らぬ国のトリッパー ◆dcddJAPU 01/10/12 14:54ID:???
えーと誤解されているようですが、私はそんなに内部に詳しくありません。
たまに必要に迫られてソースを参照しますが、この手の解説は多分できません。

# JAPUTeX. ってトリップも捨てがたいな。
0363名無しさん@お腹いっぱい。01/10/12 17:34ID:???
_gunzipたんカムバックきぼん
0364名無しさん@お腹いっぱい。01/10/12 21:49ID:???
>>362
そうなんですか。失礼しました。
ヘタレの私には「ソースを参照できるレベル」の方々はみな同じに見えてしまうのです(笑
0365名無しさん@お腹いっぱい。01/10/14 07:12ID:RJZp9XsP
やっと・・・、ベータながら5.6.1ベースのMacPerlがリリースされてます。
MacPerl 5.6.1b1
http://dev.macperl.org/
036636501/10/14 08:57ID:???
失礼、やっと・・・、ベータになりました。に修正。
0367名無しさん@お腹いっぱい。01/10/15 22:34ID:???
>>361
gunzipさんが好きそうな話題ねん。
そいった蘊蓄聞きたい上げ。
0368名無しさん@お腹いっぱい。01/10/15 22:54ID:???
Perl/Tk出来る人いる?
カスタムウィジェットの作り方知りたいのだけど。
0369名無しさん@お腹いっぱい。01/10/16 03:09ID:4v7IUtKc
>>368
Perl/TKを使ったことのない俺が言うのもなんだが
Tk::UserGuideやTk::Widgetのドキュメントは読んだのか?
0370名無しさん@お腹いっぱい。01/10/18 12:51ID:???
すげえ!
3-D Stereogram, Self replicating source.
http://www.perlmonks.org/index.pl?node_id=118799

変態すぎ。
0371名無しさん@お腹いっぱい。01/10/18 13:16ID:???
>>370
何なのそれ。
0372名無しさん@お腹いっぱい。01/10/18 13:39ID:???
ほんとビクーリしたよ。ステレオグラム。
それも自分のソース使って表示。
で、そのステレオグラムであるところのPerlソースもそのまま動く。
アホ過ぎ。
0373名無しさん@お腹いっぱい。01/10/18 13:41ID:???
最後の4行で減点。
0374名無しさん@お腹いっぱい。01/10/19 01:06ID:???
意味わかんねーよ。
0375名無しさん@お腹いっぱい。01/10/19 01:35ID:JPPt49tb
>>370
すげー。すごすぎー。ソースそのままと実行後で
ステレオグラムのパターンが変わるでしょ?
それでもスクリプトがちゃんと動くのはなぜ?
セミコロンで調節してるんか?
もちろんコードを読む気はないが。
0376名無しさん@お腹いっぱい。01/10/19 01:59ID:???
>>375
そんでもって、実行結果の出力を更に実行すると自分自身への写像になってる。
う〜む。
0377名無しさん@お腹いっぱい。01/10/19 02:12ID:???
>>376
その2番目以降みたいな、いわゆる「不動点プログラム」なら、
まだわかるんですよー。
オリジナルと1回目の実行結果はパターンが違うけど
ソースコードはきっちり長方形に整形されてて、
それでも動作する。ほんと、よくやるよって感じ。
0378名無しさん@お腹いっぱい。01/10/19 03:15ID:???
分かんないしソースも読めないよぅ....(+_+
monksの中彷徨ってれば何か面白いのあるかなぁ....
0379名無しさん@お腹いっぱい。01/10/24 14:12ID:???
暇なので解析した。
意外とやってることは単純。
>>375 が言う、実行後でステレオグラムが変化するというのはどいうこと?

・実際のコードは各行の14文字目まで(15文字目は削除用の目印)
・16文字目以降は15文字目までのコピー
・DATAのステレオグラムを使ってコピーするときに少し変化を加えている
0380名無しさん@お腹いっぱい。01/10/24 14:14ID:???
#!/usr/bin/perl
# Copyright (c) Marcus Post, <[email protected]>

use strict;

# 前準備
# 本来は DATA から読んでいるが書き換えたのでファイルから。
# という大人の理由からファイルポインタを__DATA__の次に移動しておく
open(MONKS, $ARGV[0]) or die "逝ってよし!";
1 until ($_ = <MONKS>) =~ /^_/;



# 以下、実際のコード
my(@dataAreaForWork, @codeArea, @charsOfCode);

# __DATA__以降を読み込む
my @dataArea = @dataAreaForWork = <MONKS>;

# コード部分を読みこむ
seek(MONKS, 0, 0);
@codeArea = <MONKS>;
# __DATA__以降を捨てる
until (($_ = pop(@codeArea)) =~ /^_/) {};

# '__DATA__'を追加
unshift(@dataArea, $_);

# 最初の3行(コピーライトとか)を出力
foreach (1 .. 3) {
  print shift(@codeArea);
}
0381名無しさん@お腹いっぱい。01/10/24 14:14ID:???

foreach my $data (@dataAreaForWork) {

  my @charsOfData = split(//, $data);

  # 実際のコードは最初の14文字のみ
  # 15文字目は後で削除するときの目印 |zY!%xQ のどれか
  my $realCode = shift(@codeArea);
  $realCode =~ s/(.{15}).*/\1/;
  @charsOfCode = split(//, $realCode);

  # 最初の15文字を後ろにコピーする。
  # その際 DATA のステレオグラムを使ってちょっとランダマイズ
  # 本当は以下のようになっているので区切り文字の , を . に変換している
  #  q,コード,;
  #  # ごみの削除とか
  #  eval;
  my $i;
  foreach my $oneOrZero (@charsOfData) {
    $charsOfCode[$i + 15 - $oneOrZero] = (($charsOfCode[$i] eq ",") ? "." : $charsOfCode[$i]);
    $i++;
  }

  # 空文字はひとつ前の文字をコピー
  foreach my $i (1 .. 75) {
    if ($charsOfCode[$i] eq '') {
      $charsOfCode[$i] = $charsOfCode[$i - 1]
    }
  }

  print join("", @charsOfCode);
  print "\n";
}

print @dataArea;
0382Perl上級者01/10/26 16:02ID:???
何でも聞け。
0383名無しさん@お腹いっぱい。01/10/26 16:28ID:???
$fooRef = \$foo;
と
*fooGlob = *foo;
の違いを教えてちょ、上は$だけだ、とかじゃなくて
内部でどんな風にエイリアスされるのかが知り鯛DEATH
0384名無しさん@お腹いっぱい。01/10/26 16:30ID:???
あ、コイツ !!!!!!!!!!連発猿じゃん  (鬱
吐き気して来た
死ね!!
0385 != 382 01/10/26 16:56ID:???
連発猿?
0386 != 384  01/10/26 17:18ID:???
教えてください!!!!!!!!!! ←こう言う奴だろ?
彼は、〜〜級者、と言うキーワードに酷く敏感な様子 (p   
0387名無しさん@お腹いっぱい。01/10/26 17:42ID:???
むか〜し_gunzipさん(最近見かけないけど)が書いてた↓が参考になるかも。
http://www.angelfire.com/ak5/2ch-web-program/kako/979894521.html#825
0388名無しさん@お腹いっぱい。01/10/26 18:11ID:???
CGI.pm使ってるのってどうなの?
0389名無しさん@お腹いっぱい。01/10/27 00:20ID:e8mRTudG
ルーチンを関数にするののデメリットって何?
0390名無しさん@お腹いっぱい。01/10/27 01:58ID:???
関数呼び出しは非常に時間がかかる。
0391名無しさん@お腹いっぱい。01/10/27 18:37ID:???
ageageageage
0392名無しさん@お腹いっぱい。01/10/27 22:56ID:???
移転age
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:???
my $name = 'tinko pinpin';
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)
くらい違いますが、内部ではどのような処理の違いがあるんですか?
アホな私にも分かるように教えていただけませんでしょうか?
0397Perl上級謝01/10/28 19:09ID:???
>>396
そんなことも分からんのか。とことん程度低いな(ワラ
039839601/10/28 19:10ID:???
教えて!!!!!!!!!!!!!!!!!!!!
0399名無しさん@お腹いっぱい。01/10/28 19:17ID:???
まともなスレッドに戻れよ...。
0400名無しさん@お腹いっぱい。 01/10/28 19:18ID:???
??????????????????????????????
?どれくらいの事ができたら「脱初心者」といえるのでしょうか?
??????????????????????????????
0401名無しさん@お腹いっぱい。01/10/29 01:20ID:???
>>396
どっかで見た質問。
0402名無しさん@お腹いっぱい。01/10/29 06:09ID:???
面白いね
0403あげ01/10/29 16:56ID:???
なにが?
0404[01/10/29 23:16ID:???
なにが?
0405名無しさん@お腹いっぱい。01/10/30 17:20ID:???
>>402
なにが?
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:???
>>408
いやそれで正しいでしょ。
結局ソース読まないと分からないことは多いし。

ま、個々の関数の処理効率なんかよりも、
書くプログラムのアルゴリズムが最適かどうかの方が、
全体の速度にはるかに寄与する。
アルゴリズムが最適でさらに速度を求めるならインライン C で書くべし。
0412名無しさん@お腹いっぱい。01/11/09 04:22ID:???
>>406
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 Benchmark;
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:???
Cやれば良いのに (ボソッ
0416名無しさん@お腹いっぱい。01/11/11 10:25ID:???
んな程度の差違を気にするくらいならCで書けばいいのに。
0417名無しさん@お腹いっぱい。01/11/15 11:30ID:HBIil14t
「オブシェクト指向使えばいろいろ便利だ。」てのがよく言われてます。
掲示板程度ならオブジェクト使わないほうが効率いいんじゃないかと思うんですが,
どんな時に,どういう風に使えば便利ですか?
いいサンプルや解説ページとかあれば教えてください。
0418名無しさん@お腹いっぱい。01/11/15 11:50ID:???
憂鬱なプログラマでも読めば、perlerならRubyやるとか
>「オブシェクト指向使えばいろいろ便利だ。」
まあこう言うのはITオヤジのレベル、オブシェクト指向で彼女は出来ないし、
オブシェクト指向で奥歯に詰まったフライドチキンのカスは取れない
0419名無しさん@お腹いっぱい。01/11/15 12:35ID:???
>>370
何がどうすごいんだか分からないんですけど。
実行してもコードがでてくるだけだし。
0420名無しさん@お腹いっぱい。01/11/15 13:48ID:???
>>419
平行法で見ると#!がうき出て見える。
より目(交差法)で見ると引っ込んで見える。
0421名無しさん@お腹いっぱい。01/11/15 16:56ID:???
not 419だが

恥ずかしながら>>420のおかげで>>370がやっとわかった。
3Dってあるだろうがヴォケが!>俺
0422名無しさん@お腹いっぱい。01/11/15 18:59ID:???
Perlのハッシュについての情報きぼんぬ
0423名無しさん@お腹いっぱい。01/11/15 19:16ID:???
ハッシュの何を?
0424名無しさん@お腹いっぱい。01/11/15 22:15ID:???
naibukouzou!!!!!!!!
0425名無しさん@お腹いっぱい。01/11/15 22:34ID:???
>>2
0426名無しさん@お腹いっぱい。01/11/15 23:07ID:???
baka desuka?
0427名無しさん@お腹いっぱい。01/11/15 23:16ID:???
このスレッドには、内部構造についての知識を持った人は居ません。いじょ
0428名無しさん@お腹いっぱい。01/11/15 23:38ID:???
内部構造内部構造って女のパンツの中みたいに思ってんだな  ワラ
リンクリスト繋いでるだけだろ?
0429名無しさん@お腹いっぱい。01/11/15 23:45ID:???
例えが人格の卑しさを露わにしてますね(プ
0430名無しさん@お腹いっぱい。01/11/15 23:50ID:???
>>428
そんなこと誰でも知ってるだろ。(爆笑)
0431名無しさん@お腹いっぱい。01/11/15 23:58ID:???
PERL上級者くんは内部構造が大好きなんだね   ケラケラ(^∀^)
0432名無しさん@お腹いっぱい。01/11/16 01:29ID:wuoKPRpJ
>>431
うん、じゃないと万年ヘタレどまりだからね。
0433名無しさん@お腹いっぱい。 01/11/16 02:38ID:???
Effectiveあたりに載ってるので気に入らないなら
ソース読めとしか言えないなぁ・・・・
Perlは言語だけど、それ自体はCで書かれてるツールみたいなもん
だからね。
ドライバー(Perl書き)に求められるのは上手な車の運転
(常識的なコーディング作法)で、それはPerlに限った事じゃないだろ?
メカ(低レベルな内部構造)が知りたいならメカニック(C屋、asm屋)に
なってソース読むのが一番だよ
0434名無しさん@お腹いっぱい。01/11/16 05:12ID:???
まあ、マターリ行きまひょ。ム板みたいに荒れると嫌だし。
0435名無しさん@お腹いっぱい。01/11/16 17:16ID:???
>>433
激しく同意
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:???
perl.comって頻繁に記事が追加されてるじゃないですか。
日本語でそういうことをやってるサイトってないんですか?
0439名無しさん@お腹いっぱい。01/11/22 14:39ID:5zsxNECC
age
0440名無しさん@お腹いっぱい。01/11/23 00:18ID:Xjh4pQJe
Windows上でActive Perl使ってるんですが、
Perlからドライブのボリュームラベルを取得する方法ってありますか?
今のところsystemでdirさせて得てるからダサいんでなんとかしたいっす。
0441名無しさん@お腹いっぱい。01/11/23 00:53ID:???
>437
ワラタ
最後の一行が大事ですな。
漏れはわからんです。。。
0442名無しさん@お腹いっぱい。01/11/24 06:28ID:???
>>440
Win32API
0443名無しさん@お腹いっぱい。 01/11/25 18:41ID:???
>>440
Win32API::File
044443601/11/25 22:50ID:???
うう、今だ解決の兆しなし…;-(
0445名無しさん@お腹いっぱい。01/11/25 23:09ID:???
>>442-443
お〜、ありがとっすー
モジュール、便利なんですねぇ
0446檀那さん、名無しです01/11/30 11:16ID:???
新しいモジュールを書きましたが、根性も勇気もないのでCPANに登録できません。
誰かレビューしていただけないでしょうか。
レビューしていただける方がいらっしゃったら改めてここにURLを貼り付けます。
0447名無しさん01/11/30 19:23ID:???
>446
誰もオメーに根性も勇気も期待してねぇーよ。CPANに
登録しねぇーならウゼェーから消えな。
0448名無しさん@お腹いっぱい。01/11/30 21:22ID:???
>>447 ウザイ。お前こそ消えろ。
口先だけのヘタレが大きな口をきくなカスが。

>>446 例えどんな物でも、公開してフィードバックを得ようとするのは有益だと思われ。
ただ2chはどうかな...と思わないでもない。
0449名無しさん@お腹いっぱい。01/11/30 21:32ID:???
>>446
*.pmとかmod_perl MLとかperlMLのがいいんじゃない?
0450名無しさん@お腹いっぱい。01/11/30 21:59ID:???
普通はcomp.lang.perl.modulesと思うよ。
ただ、似たようなモジュールがないかよーく確認してね。

ここに張っても誰かレビューしてくれるとは思うよ。
0451/名無しさん[1-30].jpg01/12/01 21:19ID:???
>>450様ほかの厚意に甘えてうpしました。
http://home.att.ne.jp/wind/love_cats/Time-JapanHolidays-0.03.tar.gz
0452名無しさん@お腹いっぱい。01/12/03 08:25ID:ttBTmnrV
age
0453名無しさん@お腹いっぱい。01/12/03 10:21ID:???
Perl5.5ってPerl5.005のこと?
0454名無しさん@お腹いっぱい。01/12/03 10:25ID:Jpx3osh/
あ。質問なのにsageちゃった。
ずっと疑問だったんで、誰か教えてください>>453
0455むぎ茶01/12/03 12:31ID:???
>>451
スキル低いので細かいところしか指定できんです(_ _)
@ISA は use base のがかっちょいいかと。
@EXPORT よりは @EXPORT_OK のほうがいいのでは?
名前空間分かれてるほうがいいって人多いと思う
0456むぎ茶01/12/03 12:34ID:???
>>451
read_holiday_list だけど
use Time::JapanHolidays(holidaysList => "myHolidays.list");
ってして IMPORT で呼んどいてくれるとうれしいかも。
0457むぎ茶01/12/03 12:39ID:???
>>451
デフォルトのデータは日本の祝日だけど中身はそうじゃないんで
Time::Holidays.pm のほうがよいのでは?
あと Holiday だけじゃなく MemorialDay もはいってるから
そういう名前もいいかも

あとね日付のデータだけど デフォルトにマージする仕掛けも欲しいです
身近な記念日とかマージして登録できるとうれしい
0458むぎ茶01/12/03 12:43ID:???
>>451
計算を必要とする祝日がべた書きなのがちと悲しい
ここもカスタマイズできるとうれしいなと。
0459名無しさん@お腹いっぱい。01/12/05 03:02ID:???
451はやる気なし。
0460名無しさん@お腹いっぱい。01/12/05 20:13ID:vhbZliPL
perlでグラフを書きたくて今月号のCマガのperlの連載にのってたGDGraphを
いれようと思ったのですが、ppmでinstall GDGraph としてyesを選んでも
Error installing package 'GDGraph': Could not locate a PPD file for package GDGr
aph
というエラーが出ます。
どうすればいいんですか?
0461名無しさん@お腹いっぱい。01/12/05 23:40ID:???
>>460
http://www.geocities.co.jp/Bookend-Soseki/6187/xiaxiu/pg/5.html
■ このスレッドは過去ログ倉庫に格納されています