[過去ログ]
Perlについての質問箱 64箱目 (1002レス)
Perlについての質問箱 64箱目 http://mevius.5ch.net/test/read.cgi/tech/1548981877/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
929: デフォルトの名無しさん [sage] 2021/03/04(木) 00:11:02.54 ID:Pkas/NOZ >>927 可不可の話なら、while (m/start..end/g) {...}みたいにしたらきっとできる。 しかし、オレならやらん。 Pythonは詳しくないが、たぶんそれでもやらんやろなあ。 正規表現の使いどころとしては非効率的だし、エラー対応が非現実的だし。 また、対象はファイルの内容だそうだが、ReDoSは知ってるか? http://mevius.5ch.net/test/read.cgi/tech/1548981877/929
930: デフォルトの名無しさん [sage] 2021/03/04(木) 00:24:13.90 ID:u/riWi2o なんで急にRubyが出てくるんだよ(呆れ http://mevius.5ch.net/test/read.cgi/tech/1548981877/930
931: デフォルトの名無しさん [sage] 2021/03/04(木) 00:42:19.66 ID:2AXWpxTy perlリスペクト公言言語だから敬意を評してるんじゃないかな、大目に見てあげよう http://mevius.5ch.net/test/read.cgi/tech/1548981877/931
932: デフォルトの名無しさん [sage] 2021/03/04(木) 09:09:52.94 ID:8OZ033Zi 元がファイルだからなあ 1行ずつ分かれてるものを合体させてまた分離する、というのが無意味に見える 正規表現は柔軟性なので、使わなくていいくらいかっちりしてるものには 使わない方が安全側に倒れる 元ファイルが手書きで、無駄な改行やコメントが入ってるなら正規表現 http://mevius.5ch.net/test/read.cgi/tech/1548981877/932
933: デフォルトの名無しさん [] 2021/03/07(日) 10:07:03.25 ID:Anqe+9Rf forkがハングする。 見えてる範囲だと、memoryの使用量が関係してかもしれないです。 firefoxを使って1G程度メモリを食わせてからスクリプト走らせると、forkが返ってこなくなる。 この時のメモリ使用量は他も併せて25%程度。閉じてから再度走らせるとちゃんと動く。 エラー値返してくれたら助かるのだけど、ハングなんで困ってます。 アドバイスいただけるとたすかります。 Strawberry perl 64bit 5.32.1 Windows10Pro 64bit version 2004 Corei3-4370, Memory 12G http://mevius.5ch.net/test/read.cgi/tech/1548981877/933
934: デフォルトの名無しさん [sage] 2021/03/07(日) 10:45:56.10 ID:Q92Mc+WL 安定して動かないならバグっている だいたい動くけど、ごく稀に動作がおかしい、ということがforkはある forkがコケても動くような仕組みにすればok http://mevius.5ch.net/test/read.cgi/tech/1548981877/934
935: デフォルトの名無しさん [sage] 2021/03/07(日) 10:50:58.30 ID:x9JK9zFw そもそもWindows APIはfork()をサポートしてない。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/935
936: デフォルトの名無しさん [sage] 2021/03/07(日) 11:48:43.53 ID:Anqe+9Rf >>934 ありがとう。 メモリ使用量が低いと成功。 firefoxでもタブ1枚ぐらいなら成功。 firefoxでタブ(yahoo.com)10枚開くと、確実にハング。 ラクダ本にも、失敗(戻り値undef)の対処法が書いてありますね。 WindowsOSがらみなので、イロイロありそうなのは察します。 でも、forkを呼び出したらハングして帰ってこないからなぁ。 コケるというよりは、forkを呼び出さない: if( $can_fork ) {fork;} ってな書き方が必要になってしまう。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/936
937: デフォルトの名無しさん [sage] 2021/03/07(日) 11:53:44.14 ID:Anqe+9Rf 追記: perlスクリプトとfirefoxは関係ありません。 単に、デスクトップで調べものしながら、コマンドプロンプトでperlインタプリタ を起動して作業しているだけです。連投失礼しました。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/937
938: デフォルトの名無しさん [] 2021/03/07(日) 12:10:59.62 ID:3xq9+JKJ ActivePerl の Windows 版では fork() がエミュレーションされているらしい。 実際に呼び出してみるとスレッドがひとつ増える。 中ではおおかた CreateThread() でもしてるんだろう。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/938
939: デフォルトの名無しさん [sage] 2021/03/07(日) 12:24:40.47 ID:xy+MS7Fg windowsで安定動作させたいならforkを使わずに自分で別スレッドか別プロセス立てるのが吉 http://mevius.5ch.net/test/read.cgi/tech/1548981877/939
940: デフォルトの名無しさん [sage] 2021/03/07(日) 14:22:59.45 ID:Anqe+9Rf >>938 perldocによると、ActiveStateとMSが頑張ったらしいよ。 エミュあつかいとのことです。 >>939 ありがとう。 スレッドでするわ・・・さすがにハングはだめだわ(^^; http://mevius.5ch.net/test/read.cgi/tech/1548981877/940
941: デフォルトの名無しさん [sage] 2021/03/07(日) 14:48:48.37 ID:Q92Mc+WL forkとか再帰呼び出しとか、魔術的で楽しいけど、大抵罠にはまる http://mevius.5ch.net/test/read.cgi/tech/1548981877/941
942: デフォルトの名無しさん [sage] 2021/03/07(日) 17:38:53.17 ID:quYd9iFF 再帰はええやろ。 forkはもともとUNIX用で、Windowsとは相性が激悪なだけやから、しゃあない。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/942
943: デフォルトの名無しさん [sage] 2021/03/07(日) 17:49:12.06 ID:Q92Mc+WL 階層ディレクトリを辿る、みたいなとこに再帰を使うと止まらなくなったりする 絶対止まると保証されてるとこにしか使えなくて、そういうのは別に再帰でなくてもやれる 隅々までどうなってるか判らないものに再帰は威力を発揮するけど、 そういうのは往々にして停止性が保証されない http://mevius.5ch.net/test/read.cgi/tech/1548981877/943
944: デフォルトの名無しさん [sage] 2021/03/07(日) 18:11:41.00 ID:eIiM+J9a それはあんたが無能だから http://mevius.5ch.net/test/read.cgi/tech/1548981877/944
945: デフォルトの名無しさん [sage] 2021/03/07(日) 18:18:17.98 ID:x9JK9zFw Perlと関係ない話はよそでどうぞ http://mevius.5ch.net/test/read.cgi/tech/1548981877/945
946: デフォルトの名無しさん [sage] 2021/03/07(日) 23:39:46.89 ID:quYd9iFF >>943 再帰終了をちゃんとできないヤツは、ループ終了もできないやろ。w ディレクトリうんぬんに限って言えば、ファイルシステムへの知識が足りないとかか。 リンク系の。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/946
947: デフォルトの名無しさん [sage] 2021/03/07(日) 23:53:02.15 ID:Q92Mc+WL 軽く考えてるけど、プログラムの停止性ってもっそい奥が深い ゲーデルの不完全性定理と密接に絡んでる http://mevius.5ch.net/test/read.cgi/tech/1548981877/947
948: デフォルトの名無しさん [sage] 2021/03/08(月) 00:03:00.68 ID:RDgJTpCR tarのhオプションってよくできているよな 無限ループに陥りやすいが http://mevius.5ch.net/test/read.cgi/tech/1548981877/948
949: デフォルトの名無しさん [sage] 2021/03/08(月) 00:23:56.56 ID:tQicr2bh 再帰処理は考えてるの楽しいよな 実装するかとなると状況次第 http://mevius.5ch.net/test/read.cgi/tech/1548981877/949
950: デフォルトの名無しさん [sage] 2021/03/08(月) 01:47:35.66 ID:6lKYXbK2 >>947 バグが存在しない証明は超難しいから、ふつうやらない。 かわりに、テストを必要なだけする。 それだけのこと。 原理とやらは学者に任せておけばいい。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/950
951: デフォルトの名無しさん [sage] 2021/03/08(月) 10:04:20.07 ID:XzCJxGl3 ggl先生に "perl dir tree" で検索かけたら自作ページが多いね。 安心安全鉄板ライブラリとかってあるかな? 素人考えでなんだけど・・・OS別、FS別なんてあるんかの。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/951
952: デフォルトの名無しさん [sage] 2021/03/08(月) 10:17:22.69 ID:SORPad+v 親にリンクしていてループするのが困るので、 全部の子に対してカウンタを持たせる、くらいしか回避方法が無いんだよな それだと再帰でやってるうまみが無くなってしまう http://mevius.5ch.net/test/read.cgi/tech/1548981877/952
953: デフォルトの名無しさん [sage] 2021/03/08(月) 12:03:45.46 ID:JySUELLY 素直にFile::Find使っとけ http://mevius.5ch.net/test/read.cgi/tech/1548981877/953
954: デフォルトの名無しさん [sage] 2021/03/08(月) 12:34:19.76 ID:SORPad+v dir /s の結果を使うのが一番楽 http://mevius.5ch.net/test/read.cgi/tech/1548981877/954
955: デフォルトの名無しさん [sage] 2021/03/08(月) 16:27:27.25 ID:3P7OMB5d File::Findは処理速度が遅いのが難 http://mevius.5ch.net/test/read.cgi/tech/1548981877/955
956: デフォルトの名無しさん [sage] 2021/03/08(月) 17:21:12.95 ID:6lKYXbK2 >>952 リンクを不用意にたどるな。 既存コマンドでもオプションにしがちだし、ディレクトリ構成によっては死ぬくらいだから、しゃあない。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/956
957: デフォルトの名無しさん [sage] 2021/03/08(月) 17:24:47.95 ID:6lKYXbK2 >>955 何と比べて? no_chdirを指定したりしたらマシになったりしない? http://mevius.5ch.net/test/read.cgi/tech/1548981877/957
958: デフォルトの名無しさん [sage] 2021/03/08(月) 17:40:53.14 ID:SORPad+v ディレクトリならどこかにある実体のコピーだろうから、リンクなんか無しで済むけど、 より一般化したリスト構造だったら辿らない訳にいかない だから、事前にループしていないことを確認してから処理することになって、 そのテストがループにはまる http://mevius.5ch.net/test/read.cgi/tech/1548981877/958
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 44 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.015s