[過去ログ]
Perlについての質問箱 64箱目 (1002レス)
Perlについての質問箱 64箱目 http://mevius.5ch.net/test/read.cgi/tech/1548981877/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
367: デフォルトの名無しさん [sage] 2020/03/17(火) 00:31:17.78 ID:WzQFj8c+ この言語はなにが起こるかわからんので基本evalで囲わないとやってられませんね http://mevius.5ch.net/test/read.cgi/tech/1548981877/367
368: デフォルトの名無しさん [sage] 2020/03/17(火) 00:59:40.01 ID:DZYZalLc トラップでevalってなんだっけ?w Perlやめてから結構立つから忘れた。 なんかそんなのあったなwww 今?Perlからシェルスクリプトに回帰していますがなにか? http://mevius.5ch.net/test/read.cgi/tech/1548981877/368
369: デフォルトの名無しさん [sage] 2020/03/17(火) 05:25:03.15 ID:WzQFj8c+ >>368 これ https://perldoc.jp/func/eval eval BLOCKってやつ try catchみたいなもん http://mevius.5ch.net/test/read.cgi/tech/1548981877/369
370: デフォルトの名無しさん [sage] 2020/03/17(火) 08:02:58.85 ID:sAGmKBfN エラーが返るならtryできるだろうけど、試してみたら異常終了するようなもんも避けられるのか? http://mevius.5ch.net/test/read.cgi/tech/1548981877/370
371: デフォルトの名無しさん [sage] 2020/03/17(火) 21:45:41.98 ID:sAGmKBfN https://i.imgur.com/T58MWmG.png evalでもトラップできない http://mevius.5ch.net/test/read.cgi/tech/1548981877/371
372: デフォルトの名無しさん [sage] 2020/03/18(水) 00:13:57.91 ID:+5qWGdwM man にはどう書いてあるの? Perl の crypt じゃなくて C のライブラリの方だよ。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/372
373: デフォルトの名無しさん [sage] 2020/03/18(水) 01:56:55.56 ID:jzX09kaS WindowsだしActivePerlのようだし、何がおきてもふしぎじゃないな。w http://mevius.5ch.net/test/read.cgi/tech/1548981877/373
374: デフォルトの名無しさん [sage] 2020/03/18(水) 09:12:43.24 ID:SzV6uL92 Windows10、activeperl 5.20なんだけど、次のコードできちんと動く。何が問題なのか解らない。 $res = eval {crypt('aaa', 'ppp')}; print "1. $res\n"; $res = eval {crypt('aaa', 'あ')}; print "2. $res\n"; $res = crypt('aaa', 'ppp'); print "3. $res\n"; $res = crypt('aaa', 'あ'); print "4. $res\n"; __END__ 1. ppFj4OYENOP9c 2. 縺VSnoxRf90hw 3. ppFj4OYENOP9c 4. 縺VSnoxRf90hw http://mevius.5ch.net/test/read.cgi/tech/1548981877/374
375: デフォルトの名無しさん [sage] 2020/03/18(水) 19:35:06.32 ID:iQ6PHWNN Windows7とか? http://mevius.5ch.net/test/read.cgi/tech/1548981877/375
376: デフォルトの名無しさん [sage] 2020/03/28(土) 10:30:07.37 ID:gZJzrXqn 検索が遅い いろんな条件に対してファイル全体を検索、ということをする時に、 OSのキャッシュに頼って毎回 `grep` する方が速い メモリに読み込んで検索すると負ける ループで$data[$i] =~ /$pattern/ した方がまだ速くて、 grep {/$pattern/} @data するともっと遅くなる 大量一括検索の高速化のテクニックみたいなの何かあるのかな http://mevius.5ch.net/test/read.cgi/tech/1548981877/376
377: デフォルトの名無しさん [sage] 2020/03/28(土) 18:48:22.67 ID:Cuxaq7bT >>376 https://metacpan.org/search?q=grep 使った事ないが MCE::Grep 辺りは説明読む限り速そう http://mevius.5ch.net/test/read.cgi/tech/1548981877/377
378: デフォルトの名無しさん [sage] 2020/03/28(土) 18:55:38.49 ID:Cuxaq7bT もっと基本的な話なら perlperf https://perldoc.jp/docs/perl/perlperf.pod http://mevius.5ch.net/test/read.cgi/tech/1548981877/378
379: デフォルトの名無しさん [sage] 2020/03/28(土) 19:23:29.33 ID:gZJzrXqn MCE::GrepはCPUの使用率は上がるけど遅くなった grepよりは正規表現の処理のあたりが時間かかってるんだと思う 感覚的にはもっと高速でも全然おかしくない感じなのに http://mevius.5ch.net/test/read.cgi/tech/1548981877/379
380: デフォルトの名無しさん [sage] 2020/03/28(土) 19:34:33.22 ID:gZJzrXqn 100MBのファイルからパターンに合う行を全部抽出するのに1秒かかるくらいの感じ で、パターンが250もあるから、コーヒーが飲めるくらい待たされる http://mevius.5ch.net/test/read.cgi/tech/1548981877/380
381: デフォルトの名無しさん [sage] 2020/03/28(土) 20:00:38.86 ID:L8+cmwNy 俺だったらgrepでやっちゃうなぁ 結果はファイル経由で http://mevius.5ch.net/test/read.cgi/tech/1548981877/381
382: デフォルトの名無しさん [sage] 2020/03/28(土) 21:36:49.99 ID:L89shHGR >>376 qr//で事前に正規表現をコンパイルしてみたら? http://mevius.5ch.net/test/read.cgi/tech/1548981877/382
383: デフォルトの名無しさん [sage] 2020/03/28(土) 21:55:00.53 ID:gZJzrXqn 同じパターンで繰り返し検索するのではなくて、 いろんなパターンで同じ対象を検索するので、コンパイルはできない でも、パターンのリストは実行前に確定しているので、 qrで作ったものを配列に持たせておけば速くなるだろうか http://mevius.5ch.net/test/read.cgi/tech/1548981877/383
384: デフォルトの名無しさん [sage] 2020/03/28(土) 23:16:33.34 ID:2U8ZKDy+ もはや perl の能力を超えているな C とかで書いた方がいい http://mevius.5ch.net/test/read.cgi/tech/1548981877/384
385: デフォルトの名無しさん [sage] 2020/03/28(土) 23:24:04.96 ID:ZQFwrOhU パターンの内容にもよるが、flex で書いて Inline::C で呼ぶという方法もある。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/385
386: デフォルトの名無しさん [] 2020/03/28(土) 23:25:40.33 ID:7nefda3x 色んなパターンで? grep -f でパターン読ませてやるのと同じか? http://mevius.5ch.net/test/read.cgi/tech/1548981877/386
387: デフォルトの名無しさん [sage] 2020/03/29(日) 09:15:52.43 ID:9AyQFVoq 素の Perl は NFA だけだから、どうしても速度的には不利になる。 パターンが250もあるなら尚更だ。 grep との差はPerl と C の差はもちろんあるだろうが DFA でできるパターンなら、その差が大きいと思う。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/387
388: デフォルトの名無しさん [sage] 2020/03/29(日) 09:42:19.51 ID:aacnUCYv linuxだったら素直にgrep呼べばいいだけだけど、 windowsだと素性が良くて高速なgrepを探すところでまず困難がある さらに、grepに引数を渡すところにもエスケープ文字の困難があって、 結果の受け取りにも文字コードの困難が http://mevius.5ch.net/test/read.cgi/tech/1548981877/388
389: デフォルトの名無しさん [sage] 2020/03/29(日) 17:43:38.29 ID:9AyQFVoq そういえば awk は DFA じゃなかったかな。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/389
390: デフォルトの名無しさん [sage] 2020/03/30(月) 00:14:28.89 ID:mvvN5DTM perl の Memoize は関数全体に掛けるようですが、 ruby の @memo、javascript の memo の変数に掛けるのは新し目の使い方でしょうか http://mevius.5ch.net/test/read.cgi/tech/1548981877/390
391: デフォルトの名無しさん [] 2020/03/30(月) 04:32:31.95 ID:PdZ6Klrm >>388 WSLのUbuntuだとどうなのだろうか? あれ遅い? http://mevius.5ch.net/test/read.cgi/tech/1548981877/391
392: デフォルトの名無しさん [sage] 2020/03/30(月) 08:35:14.72 ID:3FWyQXw7 NFA でなければならない理由がないなら DFA にするだけで速度 1000 倍は堅いかも。 でも Perl のままでも正規表現のチューニングは可能だ。まだやってないならね。 実際に使ってるパターンを見せてもらわないことにはなんとも言えないが。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/392
393: デフォルトの名無しさん [sage] 2020/03/31(火) 12:53:45.32 ID:GaEXrIp5 >>388 普通にWSLを使えばいいだけでは? http://mevius.5ch.net/test/read.cgi/tech/1548981877/393
394: デフォルトの名無しさん [sage] 2020/03/31(火) 22:24:02.97 ID:Z+pFaYZ2 win8.1のサポートが終わった頃に思い出したら使ってみよう http://mevius.5ch.net/test/read.cgi/tech/1548981877/394
395: デフォルトの名無しさん [sage] 2020/04/22(水) 13:25:13.88 ID:gkB+0fgm @array = ($str =~ /(PAT1).+?(PAT2).+?(PAT3)/g); みたいにすると、パターン3つ分が配列に入るけど、他にもマッチするとそれも続けて入る できれば2次元配列になって欲しい そんな技はある? http://mevius.5ch.net/test/read.cgi/tech/1548981877/395
396: デフォルトの名無しさん [sage] 2020/04/22(水) 18:47:25.28 ID:WLkEu+yG そういうことをする時のセオリーはスカラコンテキストで $str =~ /\G$pat/g http://mevius.5ch.net/test/read.cgi/tech/1548981877/396
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 606 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.063s