くだすれPerl(超初心者用)at PHP
くだすれPerl(超初心者用) - 暇つぶし2ch533:nobodyさん
07/12/06 07:57:56
>>529
簡潔って「一点のみ」で、
use Tie::File ;
tie my @array, 'Tie::File', 'hoge.txt' or die ;
$array[0] =~ s/foo/bar/ ;
untie @array ;

以下は横レスFYI:
>>530氏は、「ウチの環境では」ときちんと断わってはいるが、一応他の環境での
ベンチマーク結果だ。シビアに考えるなら常に自分の環境で、use Benchmark で
テストする事をお勧めする。
(けど、普通の環境ならシビアにテストしなくてもいいんじゃね?)

This is perl, v5.8.6 built for darwin-thread-multi-2level
@OSX 10.4.11, G4 500MHz メモリ1G

一行50文字の2万行のデータ hoge.txt にて
% cat hoge.pl
use Benchmark ;
sub __handle{ open IN, q{hoge.txt} ; push @arr, <IN> ; close IN ; }
sub __array { open IN, q{hoge.txt} ; while( <IN> ){ push @arr, $_ ; } close IN ; }
sub __join { open IN, q{hoge.txt} ; $dat = join '', <IN> ; close IN ; }
timethese ( 50, { op1 => '__handle', op2 => '__array', op3 => '__join' } ) ;

% perl hoge.pl
Benchmark: timing 50 iterations of op1, op2, op3...
op1: 7 wallclock secs ( 6.31 usr + 0.59 sys = 6.90 CPU) @ 7.25/s (n=50)
op2: 8 wallclock secs ( 7.11 usr + 0.59 sys = 7.70 CPU) @ 6.49/s (n=50)
op3: 8 wallclock secs ( 6.12 usr + 0.60 sys = 6.72 CPU) @ 7.44/s (n=50)



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch