トップページphp
1001コメント346KB

Perlコーディング初心者質問スレ Part 38

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん04/10/07 23:23:08ID:kiEzDCJF
Perlのコーディングで困ってる人のスレです。

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。

1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。

最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。

過去ログやお勧めサイトは >>2-10
0993nobodyさん04/11/27 18:17:37ID:???
>>992
100回ぐらいならどっちでもいいと思うが気になるなら
ベンチ取れよ。$_がどういう文字列かにもよりそうでは
ある。
0994nobodyさん04/11/27 18:21:26ID:???
100回程度ならまず差は出ないだろう。気にするな、それがパールの世界だ。
0995nobodyさん04/11/27 18:30:26ID:???
ぱっと見、substrの方が最初の'<>'が見つかった時点で文字列サーチ
終わるから速そう。てことでベンチ。

use Benchmark;
$s = 'foo<>baa';

timethese(undef, {
split => sub {
($hoge) = split(/<>/, $s);
},
substr => sub {
$hoge = substr($s, 0, index($s, '<>'));
},
});

てな感じで結果は

Benchmark: running split, substr for at least 3 CPU seconds...
split: 4 wallclock secs ( 3.21 usr + -0.01 sys = 3.20 CPU) @ 396900.00/s (n=1270080)
substr: 2 wallclock secs ( 3.11 usr + -0.00 sys = 3.11 CPU) @ 1306832.15/s (n=4064248)

予想通りsubstr圧勝。
レス数が950を超えています。1000を超えると書き込みができなくなります。