[過去ログ]
Perlについての質問箱 64箱目 (1002レス)
Perlについての質問箱 64箱目 http://mevius.5ch.net/test/read.cgi/tech/1548981877/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
461: デフォルトの名無しさん [] 2020/06/12(金) 02:39:58.45 ID:TN61WwYv 宜しくお願いします。 $1をクリアしたい場合は「'' =~ /()/;」等として 無駄なマッチングをして空文字列を設定しないとダメですか? 数億件のデータを捌く際とか、めちゃくちゃタイムロスになりますよね? 皆様はどうされてるのでしょう? http://mevius.5ch.net/test/read.cgi/tech/1548981877/461
462: 461 [] 2020/06/12(金) 02:41:54.90 ID:TN61WwYv >>461 ↑に追記です。 $2以降のクリアも含めてお願いします。 最適な解を頂ければ幸いです。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/462
465: 461 [] 2020/06/12(金) 03:24:01.31 ID:TN61WwYv >>463 あの…すみません。 スカラー値の評価の話をしている訳ではありません。 $1や$2や$3と言った特殊変数の値をクリアをする方法を聞いています。 これらの特殊変数に値を代入したらエラーになります。 引き続き>>461-462のベストな解をお待ちしています。 宜しくお願いします。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/465
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
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.025s