[過去ログ]
Perlについての質問箱 64箱目 (1002レス)
Perlについての質問箱 64箱目 http://mevius.5ch.net/test/read.cgi/tech/1548981877/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
466: 461 [] 2020/06/12(金) 03:52:20.68 ID:TN61WwYv >>464 計 数億件のデータがあり、 それぞれにはCのラベルのような項目名がありまして、 それに続く文字列がその項目の値になるのですが、 (例えば「name: value…\n」な感じです) これを一時的にDBに収めるためnameをキーとしてライブラリに渡したいんです。 一般的に思いつく方法としては、 「if( $ln =~ /^(パターン)://g ){ func( $1, $ln ); … }」 とすれば良いのですが、 なにせ件数が多いので、無駄な条件文を省きたいのです。 (条件文は処理が重いので) 検証実測値では1日以上の処理速度差がでるかもなのです。 (他にも同等の処理があるのでかなり省ける感じがするんです) func()は、キーや値が未定義値もしくは空値であれば、 なにも処理をせず抜けるので、 $1がクリアできればif文を無くすことが出来ます。 そこで思いついたのが、 >>461の「'' =~ /()/;」ですが、これでは本末転倒です。 と言うのが経緯です。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/466
476: デフォルトの名無しさん [] 2020/06/12(金) 13:25:45.07 ID:Qkj+08r5 >>466 もうCで書いちゃえよ。速いよ。 コロンまでの文字列抜き出すのは簡単だろう。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/476
479: デフォルトの名無しさん [sage] 2020/06/12(金) 14:24:52.04 ID:uUh54YqY >466 $ln =~ /^(パターン):|(.*?)/ にすると、「^(パターン):」にマッチしないときに$1を空文字にできる。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/479
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.039s