[過去ログ]
Perlについての質問箱 64箱目 (1002レス)
Perlについての質問箱 64箱目 http://mevius.5ch.net/test/read.cgi/tech/1548981877/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
906: デフォルトの名無しさん [sage] 2020/12/28(月) 08:37:46.11 ID:9b76uWwh ドキュンルート http://mevius.5ch.net/test/read.cgi/tech/1548981877/906
907: デフォルトの名無しさん [sage] 2020/12/28(月) 21:50:36.57 ID:gLlPtDZl >>905 わかってるやん レスコジキなら他に行ってくれ http://mevius.5ch.net/test/read.cgi/tech/1548981877/907
908: デフォルトの名無しさん [sage] 2020/12/30(水) 20:09:27.64 ID:ygO1FIcm 過疎ってる方が落ち着くという人もいるらしい http://mevius.5ch.net/test/read.cgi/tech/1548981877/908
909: デフォルトの名無しさん [sage] 2020/12/30(水) 20:26:20.53 ID:ZDzqqnZf 初心者が嫌いな「上級者」で過疎っているほうが落ち着くなら、このスレがいいな。 【Perl上級者コーナーPart01】 https://medaka.5ch.net/test/read.cgi/php/1024741312/ http://mevius.5ch.net/test/read.cgi/tech/1548981877/909
910: デフォルトの名無しさん [sage] 2020/12/30(水) 21:55:58.30 ID:Fpo/gio8 >>907 わかってるとはいえんよ。 結果のおうむ返しだけみたいだからな。 落ち着いて考えればわかるはずだし、それでしっかり納得したほうがいいことだから、元コメに返事はしないが。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/910
911: デフォルトの名無しさん [sage] 2021/01/03(日) 17:25:22.42 ID:Lv3VCxJc ブラウザのクッキーを許可してるかどうかを調べるにはどうしたらいいんですか? クッキーを書き込めたら許可されているというやり方だと 書き込んだ直後はクッキー読み取れない 更新ボタンでページを更新しないとクッキー読み取れないので他のやり方で http://mevius.5ch.net/test/read.cgi/tech/1548981877/911
912: デフォルトの名無しさん [sage] 2021/01/03(日) 17:33:27.51 ID:qCTYrijY お、今年初めの質問だね。 君の悩みは質問箱住人が解決するよ。 ささ、甘酒どぞ。つ甘 みんなーお客さんだよー。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/912
913: デフォルトの名無しさん [sage] 2021/01/03(日) 19:13:07.92 ID:fvS6UGyp >>911 javascript併用したくないならHTTPヘッダで print "Set-Cookie: hoge\n"; print "Location: hage\\n\n"; みたいな感じでクッキー書いてリダイレクトすればいいんじゃね http://mevius.5ch.net/test/read.cgi/tech/1548981877/913
914: デフォルトの名無しさん [] 2021/01/03(日) 20:53:05.77 ID:Lv3VCxJc >>913 なるほど、でもそれ無限ループにならないっすか? http://mevius.5ch.net/test/read.cgi/tech/1548981877/914
915: デフォルトの名無しさん [sage] 2021/01/03(日) 21:41:10.96 ID:Y2yZ564Q >>914 サーバーで判定したらええやろ。 そもそもそういう話のはず。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/915
916: デフォルトの名無しさん [sage] 2021/01/03(日) 21:44:24.27 ID:fvS6UGyp >>914 クエリパラメータ追加するなり工夫すれ http://mevius.5ch.net/test/read.cgi/tech/1548981877/916
917: 532 [sage] 2021/01/25(月) 02:03:08.62 ID:NGykvctj ttps://perlcodesample.hateblo.jp/entry/2020/07/10/082720 http://mevius.5ch.net/test/read.cgi/tech/1548981877/917
918: デフォルトの名無しさん [sage] 2021/02/13(土) 20:39:32.56 ID:puXqs/bZ U+10000からU+1FFFFまでの文字があったら置換したい時はどう書けばいい? http://mevius.5ch.net/test/read.cgi/tech/1548981877/918
919: デフォルトの名無しさん [sage] 2021/02/13(土) 20:57:13.59 ID:aGYlIUX0 >>918 s/U¥+(1¥x{4})/pack(q{U},$1)/eg とかか? https://perldoc.jp/docs/perl/5.10.0/perluniintro.pod http://mevius.5ch.net/test/read.cgi/tech/1548981877/919
920: デフォルトの名無しさん [sage] 2021/02/13(土) 21:54:38.37 ID:puXqs/bZ あー U+10000という文字列を置換したいのではなく、それが示すサロゲートペアを置換したい http://mevius.5ch.net/test/read.cgi/tech/1548981877/920
921: デフォルトの名無しさん [sage] 2021/02/14(日) 01:36:58.65 ID:u5RUQBwf >>920 s/([¥x{10000}-¥x{1ffff}])/unpack(q{U},$1)/eg かな? ダメな気もするが。 つーか、さっきのURLにいろいろ書いてあるから、一度目を通して自分で試してみろ。 んで、うまくいったら、結果を貼るようにな。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/921
922: デフォルトの名無しさん [sage] 2021/02/14(日) 07:32:21.90 ID:kRUK3Bbl $line =~ s/\x{1f306}/置/g; これは成功する $line =~ s/\x{1....}/置/g; こんなことをやろうとしてた $line =~ s/[\x{10000}-\x{1ffff}]/置/g; これが正解だった http://mevius.5ch.net/test/read.cgi/tech/1548981877/922
923: デフォルトの名無しさん [sage] 2021/02/14(日) 10:00:12.81 ID:yrV2Bu9C Perlの場合、マルチバイト文字で正規表現を正しく使うには、あらかじめEncode::decode()でデコードしておく必要があるので厄介。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/923
924: デフォルトの名無しさん [sage] 2021/02/14(日) 11:18:28.10 ID:u5RUQBwf >>923 Perlに限らんやろ。 エンコーディングをまったく気にせず対応している処理系なんか存在しない。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/924
925: デフォルトの名無しさん [] 2021/03/03(水) 18:48:52.48 ID:Q9ky3RP3 start:aaa1 end:bbb1 value:1.23 start:aaa2 end:bbb2 value:2.34 … データとして上記のようなstart,end,value値が違うデータがだらっと繰り返ししてるファイルがあって 下記の正規表現で名前付きキャプチャを使って繰り返しマッチングし%+ハッシュを配列に格納したいのですが、こんな感じでやるとそれぞれのデータが順に入ってしまいます。 どう書けばマッチングした各ハッシュを配列に格納出来るのでしょうか? $re=qr|start:(?<start>\S+).*?end(?<end>\S+).*?value:(?<value>\S+)$|sm; my @data = m|$re|g =~ $txt; http://mevius.5ch.net/test/read.cgi/tech/1548981877/925
926: デフォルトの名無しさん [sage] 2021/03/03(水) 20:20:14.74 ID:DgitZS9x 正規表現を使うところではない気がするな。w ちょっとおちついて、行単位で処理していけよ。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/926
927: デフォルトの名無しさん [] 2021/03/03(水) 23:36:11.18 ID:Q9ky3RP3 >>926 そういうもんなんですか? pythonだとre.finditerでイタレータ毎に取れるので似たような感じにperlでもどうにか出来るんだろうと思ったのですが無理そうなら諦めます http://mevius.5ch.net/test/read.cgi/tech/1548981877/927
928: デフォルトの名無しさん [sage] 2021/03/04(木) 00:03:04.76 ID:ls8aTj6l Ruby なら、 line_num = 0 # 行番号 # 行末の改行を削除して、1行ずつ処理する results = File.foreach( "test154_data.txt", chomp: true ).with_object( [ ] ) do |line, accm| line_num += 1 # 3行毎に、ハッシュを作って、蓄積変数に追加する accm.push Hash.new if line_num % 3 == 1 ary = line.split( ':', 2 ) # 左からコロンで、2つに分割する hash = accm.last # 最後の要素 hash[ ary[ 0 ] ] = ary[ 1 ] end p results 出力 [{"start"=>"aaa1", "end"=>"bbb1", "value"=>"1.23"}, {"start"=>"aaa2", "end"=>"bbb2", "value"=>"2.34"}] http://mevius.5ch.net/test/read.cgi/tech/1548981877/928
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
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 67 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.012s