Perlについての質問箱 30箱目at TECHPerlについての質問箱 30箱目 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト782:デフォルトの名無しさん 07/05/23 20:02:21 その後の調べで map2はsub {map {$_=$TABLE{$_};1;} @DATA ;1;} とすると順位があがりました。余計なメモリコピーが発生してたみたいです。 さらに>>780さんの指摘を受けて 'map1' => sub {my @hoge;map push(@hoge,$TABLE{$_}),@DATA; 1;}, 'map2' => sub {map $_=$TABLE{$_},@DATA ;1;}, に変更したところ若干forが優勢っぽいですがほとんど同じ結果になるようになりました。 組み込みの関数なのでperlのバージョンによって変わってくる部分もありそうですね。 テスト環境はperl v5.8.5でした。(書き忘れ) 大変わかりやすい説明ありがとうございました。 783:デフォルトの名無しさん 07/05/23 20:05:52 良くわからんがデータベース使え。 784:738 07/05/23 21:51:32 >>751 Catalystみてみます、サンクス 785:デフォルトの名無しさん 07/05/25 01:12:04 あーの、恐縮ですが質問なんですけど、 Perlでは初めてオブジェクト指向のコードを書いているのですが、 下記のようなコードでアロー演算子と行入力演算子が併用できなくて困っています。 一度他のローカル変数にファイルハンドルを代入してやればうまくいくのですが、 もっとスマートに、オブジェクトが持つファイルハンドルから行入力する方法はあるのでしょうか。 use strict; sub parse { my $this = shift; my @data = <$this->{fh_lex}>; # 文法エラー # 下のコードなら成功 # my $fh = $this->{fh_lex}; # my @data = <$fh>; for (@data) { ;# 省略 } } 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch