Perlについての質問箱 65箱目 (114レス)
Perlについての質問箱 65箱目 http://mevius.5ch.net/test/read.cgi/tech/1616856733/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
1: デフォルトの名無しさん [] 2021/03/27(土) 23:52:13.17 ID:vQS/WYw3 CGIについての質問は板違いです。WEBプログラミング板でどうぞ。 CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。 (WEBプログラミング板: https://medaka.5ch.net/php/) このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。 スレ違いの質問にはスルーか、速やかな誘導をお願いします。 荒らしはスルー推奨。 "The duct tape of the Internet" こと、Perlについての質問箱です。 "There's more than one way to do it" ということで、 Perlの奥深さについて皆で語り合い、追求してまいりましょう。 www.perl.org/get.html Download Latest Stable Source (5.32.1) ▼前スレ Perlについての質問箱 62箱目 http://toro.5ch.net/test/read.cgi/tech/1385039352/ Perlについての質問箱 63箱目 https://mevius.5ch.net/test/read.cgi/tech/1392820583/ Perlについての質問箱 64箱目 https://mevius.5ch.net/test/read.cgi/tech/1548981877/ http://mevius.5ch.net/test/read.cgi/tech/1616856733/1
2: デフォルトの名無しさん [sage] 2021/03/27(土) 23:54:34.17 ID:vQS/WYw3 2以降テンプレNGワードで貼れず。 見たい人は前スレ参照してくださいな。 http://mevius.5ch.net/test/read.cgi/tech/1616856733/2
3: デフォルトの名無しさん [] 2021/04/29(木) 02:22:04.28 ID:vjsl7cGC LinuxやmacOSのperlは、Term::ReadLineの $term->readline() で日本語などのマルチバイト文字の入力結果が文字化けしてしまうが、 cpanなどを使ってTerm::ReadLine::Gnuをインストールすることで回避できる Linuxの場合はTerm::ReadLine::Gnuをビルドするためにlibreadline-devも必要になる http://mevius.5ch.net/test/read.cgi/tech/1616856733/3
4: デフォルトの名無しさん [sage] 2021/04/29(木) 14:16:29.56 ID:gAM2tnQs ttps://blog.outer-inside.net/2021/03/perl-5.34-delta.html http://mevius.5ch.net/test/read.cgi/tech/1616856733/4
5: デフォルトの名無しさん [sage] 2021/04/29(木) 23:41:19.05 ID:YN7Pg05+ CentOS7 だと yum install perl-Term-ReadLine-Gnu でインストールできたよ。 RPM使ってるOSはこれで行けるのではないかな。 http://mevius.5ch.net/test/read.cgi/tech/1616856733/5
6: デフォルトの名無しさん [sage] 2021/04/29(木) 23:47:16.34 ID:YN7Pg05+ インストールすると perl -d でのデバッグ時も Ctrl+P だの Ctrl+N だの矢印キーだの使えるようになっていいね。 http://mevius.5ch.net/test/read.cgi/tech/1616856733/6
7: デフォルトの名無しさん [] 2021/04/29(木) 23:58:36.30 ID:YN7Pg05+ Ubuntu だとこれでインストールできた。Debian 系はこれでできそう。 sudo apt install libterm-readline-gnu-perl http://mevius.5ch.net/test/read.cgi/tech/1616856733/7
8: デフォルトの名無しさん [] 2021/05/23(日) 06:37:34.25 ID:8ydzk+Rl perl 5.34.0 がmacOSのhomebrewにきたけど、cpanがなんか変 http://mevius.5ch.net/test/read.cgi/tech/1616856733/8
9: デフォルトの名無しさん [] 2021/05/23(日) 06:43:35.02 ID:8ydzk+Rl cpanだけじゃなくてperldocもだった perl5.34.0ではなくmacOSに最初から入っている古いバージョンのperlを呼び出してしまうようだ 自力で回避するには古いperlが呼ばれないようにスクリプトを書き換えるなどの作業が必要 http://mevius.5ch.net/test/read.cgi/tech/1616856733/9
10: デフォルトの名無しさん [] 2021/07/06(火) 11:11:57.65 ID:yWww0KpQ PerlスクリプトをVSCodeで対話デバッグするにはどうしたらいいですか? http://mevius.5ch.net/test/read.cgi/tech/1616856733/10
11: デフォルトの名無しさん [sage] 2021/07/07(水) 01:34:33.25 ID:bUHYGk47 例えば、Ruby では、p, pp を付けてオブジェクトの内容を確認できるので、デバッグまではしない。 Break Point で止めたり、デバッグしたいのなら、誰かが作った拡張機能を探す require "csv" input_str = <<"EOT" -0.0,1.2.3 9..9,-0 EOT csv = CSV.new( input_str ) csv.convert( :numeric ) # 数値型へ変換する line_num = 0 # 行番号 csv.each do |row| line_num += 1 p [ line_num, row[ 0 ].class, row[ 1 ].class ] end 出力 [1, Float, String] [2, String, Integer] つまり、1.2.3, 9..9 は、型変換に失敗して、文字列のまま http://mevius.5ch.net/test/read.cgi/tech/1616856733/11
12: デフォルトの名無しさん [sage] 2021/07/07(水) 03:43:38.09 ID:XEShr1cy >>11 情報量ぜろ!w http://mevius.5ch.net/test/read.cgi/tech/1616856733/12
13: デフォルトの名無しさん [] 2021/07/08(木) 01:00:53.27 ID:gY+tXenb >>11 死ね http://mevius.5ch.net/test/read.cgi/tech/1616856733/13
14: デフォルトの名無しさん [] 2021/07/08(木) 10:49:11.06 ID:nEG9xKCJ uby厨は死んで良いが perlもいい加減やめた方がいい言語 新規で使うなんてあり得ない http://mevius.5ch.net/test/read.cgi/tech/1616856733/14
15: デフォルトの名無しさん [sage] 2021/07/08(木) 15:43:39.51 ID:PzoSTOmc Perlは「可読性?何それうまいの」的なノリでやる自分の作業用として重宝する http://mevius.5ch.net/test/read.cgi/tech/1616856733/15
16: デフォルトの名無しさん [sage] 2021/07/10(土) 14:27:06.61 ID:jbIVp5r2 小規模な一次的に使うツールみたいなのは今でも新規で作ることあるけどね シェルスクリプトで書くと余計にぐちゃぐちゃで分かり辛くなったり遅くなりそうな場合とか http://mevius.5ch.net/test/read.cgi/tech/1616856733/16
17: デフォルトの名無しさん [sage] 2021/08/18(水) 18:30:37.25 ID:VDhd+cn2 元々 awk や sed 駆使したシェル芸を代替するためのコマンドだから本来の地位に戻っただけとも言える ディレクトリ掘って依存設定ファイル作らないとモジュールのインストールもできない JavaScript とか Go と違って cpanm で必要なモジュール放り込めばファイル一個で雑に動くからやっつけ仕事には未だによく使う http://mevius.5ch.net/test/read.cgi/tech/1616856733/17
18: デフォルトの名無しさん [sage] 2021/08/18(水) 19:15:57.96 ID:bMnOTwac 褒めてんだかけなしてるんだか http://mevius.5ch.net/test/read.cgi/tech/1616856733/18
19: デフォルトの名無しさん [sage] 2021/08/18(水) 20:46:15.60 ID:8PJNJj34 ダクトテープがダクトテープとしてよく働いてくれる、というのは最高の賛辞やろ。 キレイなことだけが誉め言葉ではない。 http://mevius.5ch.net/test/read.cgi/tech/1616856733/19
20: デフォルトの名無しさん [sage] 2021/08/18(水) 21:14:05.44 ID:nwD63Gpn Perlはホワイトハッカー御用達の言語でしょ http://mevius.5ch.net/test/read.cgi/tech/1616856733/20
21: デフォルトの名無しさん [sage] 2021/08/21(土) 00:23:42.38 ID:Zmo3uqZM あらまオレ様はホワイトハッカーだったの? http://mevius.5ch.net/test/read.cgi/tech/1616856733/21
22: デフォルトの名無しさん [sage] 2021/08/21(土) 05:16:45.58 ID:dH+vFBpp 黒ぃハッカー http://mevius.5ch.net/test/read.cgi/tech/1616856733/22
23: デフォルトの名無しさん [] 2021/09/12(日) 04:25:38.35 ID:RfonpbSj MediawikiのXMLをパースするプログラムを書いてるんですが、 人間が日常的に使っている[[自然言語]]を[[コンピュータ]]に処理させる一連の技術であり という文章は[[]]内の文字を<a href>タグで置換することはできたのですが、 応用例としては[[入力予測|予測変換]]、[[インプット メソッド エディタ|IME]]などの文字変換が挙げられる。 このように[[*1|*2]]と2重に入っている文字列の置換がどうしてもうまくいきません。 この場合は、<a href=*2>*2</a>と置換したいのですが、どうしたらいいでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1616856733/23
24: デフォルトの名無しさん [] 2021/09/12(日) 05:49:55.32 ID:zHKafq1A s/[[(.*?(|(`*?))]]/$3 ? $3 : $1/ge かな?試してないけど。 http://mevius.5ch.net/test/read.cgi/tech/1616856733/24
25: デフォルトの名無しさん [] 2021/09/12(日) 05:51:13.73 ID:zHKafq1A あ、ごめん。| の所は \| ね。 http://mevius.5ch.net/test/read.cgi/tech/1616856733/25
26: デフォルトの名無しさん [] 2021/09/12(日) 05:52:45.30 ID:zHKafq1A [と]も直前に\要るね。 http://mevius.5ch.net/test/read.cgi/tech/1616856733/26
27: デフォルトの名無しさん [sage] 2021/09/12(日) 07:06:52.84 ID:jZMYjdNi なぜ、Perl のXML パーサーを使わないの? 例えばRuby なら、Nokogiri と言う、HTML/XML パーサーがある。 内部的には、Libxml2 モジュールを使っているのかな? たぶん、Perlにもあるはず http://mevius.5ch.net/test/read.cgi/tech/1616856733/27
28: デフォルトの名無しさん [sage] 2021/09/12(日) 15:32:25.57 ID:89s8PaYB パースするのがXMLじゃないからだな。 http://mevius.5ch.net/test/read.cgi/tech/1616856733/28
29: デフォルトの名無しさん [] 2021/09/13(月) 10:13:09.30 ID:E86z1ItW s/\[\[(.*?(\|(`*?)))\]\]/$3 ? $3 : $1/ge のパターンで試してみましたが、結果は「インプット メソッド エディタ|IME」 と置換されてしまいます。 (.*?)の部分で、|以降の文字列も含めてマッチングされているようで それ以降のパターンマッチが効いてないようです。 http://mevius.5ch.net/test/read.cgi/tech/1616856733/29
30: デフォルトの名無しさん [sage] 2021/09/13(月) 10:38:07.93 ID:AXNI3otr このへんで確認しろ。https://qiita.com/aqril_1132/items/c185c7ad84c129e5a2df http://mevius.5ch.net/test/read.cgi/tech/1616856733/30
31: デフォルトの名無しさん [sage] 2021/09/13(月) 23:15:02.86 ID:vef3NqnY strawberry perl が34をリリースしないのはなぜだ http://mevius.5ch.net/test/read.cgi/tech/1616856733/31
32: デフォルトの名無しさん [sage] 2021/09/15(水) 19:04:24.79 ID:fHmj5hYp スクレイピングすると地獄へ落ちるって本当ですか? http://mevius.5ch.net/test/read.cgi/tech/1616856733/32
33: デフォルトの名無しさん [sage] 2021/09/15(水) 23:51:59.00 ID:3vtMVT28 落ちたり落ちなかったり http://mevius.5ch.net/test/read.cgi/tech/1616856733/33
34: デフォルトの名無しさん [] 2021/09/15(水) 23:54:27.28 ID:3vtMVT28 >>29 それ . が ` になってるよ。直してやってみたらちゃんとできたよ。 $ echo '[[インプット メソッド エディタ|IME]]' | perl -pe 's/\[\[(.*?(\|(.*?)))\]\]/$3 ? $3 : $1/ge' IME $ http://mevius.5ch.net/test/read.cgi/tech/1616856733/34
35: デフォルトの名無しさん [sage] 2021/09/18(土) 03:37:45.50 ID:YPBxfQEw スクレイピングの勉強するのですが、下手するとF5アタックになるとかの法的リスクと回避法を重視している入門書ってありますか? 今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工 近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです 前者は膨大なデータを取得する必要があります 後者は10分から20分おきにアクセスすることになります http://mevius.5ch.net/test/read.cgi/tech/1616856733/35
36: デフォルトの名無しさん [sage] 2021/09/18(土) 03:45:17.73 ID:VuuEM7MI まるぽ http://mevius.5ch.net/test/read.cgi/tech/1616856733/36
37: デフォルトの名無しさん [sage] 2021/09/18(土) 18:17:05.22 ID:J85RgKD5 頭のおかしい人に以下のようなことを言われました >>基本、スクレイピングは営業妨害との戦い。 >>どの本にも、そう書いてある。 >>スクレイピングを推奨する本はない 具体的な書籍名を教えてください >>5ch は、マルチポスト禁止! >>同じ質問を、複数のスレや外部のサイトに書いてはいけない どこでそんなルールが決まっているのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1616856733/37
38: デフォルトの名無しさん [sage] 2021/10/02(土) 06:38:43.82 ID:b+9bP+Kg socketでデータを受信すると、 データの途中に「残りバイト数」が挿入されてしまうことがあるんだけど、これはどう取り除けばいいの? 例えばこんな感じになる wtjjpodjtjtjaajjgjjaatwdjjg@gptjwttdmttjmttpwm'jajt 1f 1234567890123456789012345678901 残りバイト数(1f)を16進数で表した文字列が挿入されてる 元々こういうデータだった場合と、挿入されてこうなった場合の区別が付かない readline()でもread()でも結果は同じだった http://mevius.5ch.net/test/read.cgi/tech/1616856733/38
39: デフォルトの名無しさん [sage] 2021/10/02(土) 14:54:42.04 ID:lWVjrMOX >>38 なにそれ?文字で挿入されるの?そんなの初めて聞いたなあ。送る側で入れてるだけなのでは?(そうでなければ呼んでるライブラリが何かおかしいか) socket 関係はバッファリング避けるために sysread() 使った方が良い場合があるよ。 select で入力待ちをした後で読み込みとかね。 後は気を付けるとしたらノンブロッキングにしてるかどうかかな。 http://mevius.5ch.net/test/read.cgi/tech/1616856733/39
40: デフォルトの名無しさん [] 2021/10/03(日) 14:58:34.95 ID:ngVDhrCg activeperlからStrawberryperlへ移行を検討しているのですが、 activeperlで使用しているモジュール( Win32::EventLog::Message)が cpanから削除されておりbackpanには残っていました。 https://cpan.metacpan.org/authors/id/D/DA/DAVEROTH/ 上記から、Win32-EventLog-Message.tar.gzはダウンロードできたのですが、 当方perl初心者でStrawberryperlへのインストール方法がわからず困っております。 どなたかインストール方法についてご教授お願い致します http://mevius.5ch.net/test/read.cgi/tech/1616856733/40
41: 38 [sage] 2021/10/03(日) 15:42:34.37 ID:Etawdk1b お騒がせしました Transfer-Encording: chunked ってやつだった これかどうかを確認して別処理か…面倒くさあい http://mevius.5ch.net/test/read.cgi/tech/1616856733/41
42: デフォルトの名無しさん [] 2021/10/03(日) 20:15:27.91 ID:s9ykO0bu >>40 マジレスするとperlを捨てるチャンス http://mevius.5ch.net/test/read.cgi/tech/1616856733/42
43: デフォルトの名無しさん [sage] 2021/10/03(日) 20:18:20.58 ID:prztZm/y >>42 そのかわりに何を勧めんの? Windowsのイベントログを扱いたいヤツに。 http://mevius.5ch.net/test/read.cgi/tech/1616856733/43
44: デフォルトの名無しさん [] 2021/10/03(日) 22:00:09.32 ID:ngVDhrCg 40です。 通常Makefile.PLでインストールするようなのですが、 上記tar.gzには、Makefile.PLがなく、 Message.pmがあるのですが、 これは、strawberryperlにはインストールできないのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1616856733/44
45: デフォルトの名無しさん [sage] 2021/10/03(日) 22:14:43.18 ID:BlQUkwCi できるかどうか自分で試すしかない 他人にやってもらおうってのは虫が良すぎ http://mevius.5ch.net/test/read.cgi/tech/1616856733/45
46: デフォルトの名無しさん [sage] 2021/10/21(木) 12:31:10.82 ID:gLUi04Um my $str = "<img src=\"./test1.png\" style=\"width:100px;height:100px\">"; ./test1.pngの部分を./test2.pngに置換するにはどうやればいいんですか? my $str =~ s/test1.png/test2.png/g;というのじゃなくてtest1.pngの部分がどんな 画像URLでも置換できるように http://mevius.5ch.net/test/read.cgi/tech/1616856733/46
47: デフォルトの名無しさん [sage] 2021/10/21(木) 12:49:12.67 ID:hpQkeFJy test2.pngを変数にすればいいだけ http://mevius.5ch.net/test/read.cgi/tech/1616856733/47
48: デフォルトの名無しさん [sage] 2021/10/21(木) 12:53:02.13 ID:gLUi04Um いやそうじゃなくて正規表現使ったやつで http://mevius.5ch.net/test/read.cgi/tech/1616856733/48
49: デフォルトの名無しさん [sage] 2021/10/21(木) 13:11:31.93 ID:hpQkeFJy s/src=".+?"/src="test2.png"/ http://mevius.5ch.net/test/read.cgi/tech/1616856733/49
50: デフォルトの名無しさん [sage] 2021/11/08(月) 18:04:06.58 ID:H7HFgRE2 {a}ab{abc} {}で囲まれたaだけdに置き換えたい どうやればいいんですか? {d}ab{dbc}になればいいってこと http://mevius.5ch.net/test/read.cgi/tech/1616856733/50
51: デフォルトの名無しさん [sage] 2021/11/08(月) 18:59:06.40 ID:JELTvgr2 それだけじゃ分かんない 全ての条件を書かないと それが解なんだけどね http://mevius.5ch.net/test/read.cgi/tech/1616856733/51
52: デフォルトの名無しさん [sage] 2021/11/08(月) 22:10:38.33 ID:H7HFgRE2 本当にやりたいのは my $line = "<img src='aaa.png' width='300' height='200'> 画像説明"; <>の中にある全ての を半角スペースに置き換えたいっす 実行結果は<img src='aaa.png' width='300' height='200'> 画像説明となればいいっす 送信したときブラウザが勝手に半角スペースを に変換しちゃうみたいなのでタグ内の半角スペースだけ元に戻したいから http://mevius.5ch.net/test/read.cgi/tech/1616856733/52
53: デフォルトの名無しさん [sage] 2021/11/09(火) 00:02:06.84 ID:J0R6dl97 sub f { my $s = shift; $s =~ s/ / /g; return "<$s>"; } $line =~ s/<(.+?)>/f($1)/eg; http://mevius.5ch.net/test/read.cgi/tech/1616856733/53
54: デフォルトの名無しさん [sage] 2021/11/09(火) 00:03:21.78 ID:J0R6dl97 sub f { my $s = shift; $s =~ s/&#160;/ /g; return "<$s>"; } $line =~ s/<(.+?)>/f($1)/eg; http://mevius.5ch.net/test/read.cgi/tech/1616856733/54
55: デフォルトの名無しさん [sage] 2021/11/09(火) 00:36:22.21 ID:bwlPyLJQ ありがとうございました http://mevius.5ch.net/test/read.cgi/tech/1616856733/55
56: デフォルトの名無しさん [sage] 2022/01/06(木) 18:30:59.16 ID:LRBDWWjE printで出力すると/nで改行できません 二重引用符で括ってもできません なにをやっても/nがそのまま表示されます 調べても二重引用符で括れとか〈br〉とかしか出てきません http://mevius.5ch.net/test/read.cgi/tech/1616856733/56
57: デフォルトの名無しさん [sage] 2022/01/06(木) 18:45:34.18 ID:qZej6RdN スラッシュnは改行じゃないからな http://mevius.5ch.net/test/read.cgi/tech/1616856733/57
58: デフォルトの名無しさん [sage] 2022/01/06(木) 20:07:08.37 ID:HyMw34ze 斬新な質問だ。w 斜めの縦棒を日本語キーボードで入力しろ、と言われたらたしかにそうなるかもだが。 http://mevius.5ch.net/test/read.cgi/tech/1616856733/58
59: デフォルトの名無しさん [] 2022/01/07(金) 00:42:46.84 ID:+rjvm48j >>56 \n でやってみな。 http://mevius.5ch.net/test/read.cgi/tech/1616856733/59
60: デフォルトの名無しさん [] 2022/01/07(金) 00:45:13.42 ID:+rjvm48j >>58 やはり \ (\x5c) の歴史的な事情を知らないと分からないのだろうな。 http://mevius.5ch.net/test/read.cgi/tech/1616856733/60
61: 56 [sage] 2022/01/07(金) 18:30:12.92 ID:j8/UZCr2 ¥マークを\に変えたらできました 紛らわしいもんですね http://mevius.5ch.net/test/read.cgi/tech/1616856733/61
62: デフォルトの名無しさん [] 2022/01/08(土) 10:43:35.54 ID:mAjXIrhA そう。紛らわしいんだ。 http://mevius.5ch.net/test/read.cgi/tech/1616856733/62
63: デフォルトの名無しさん [sage] 2022/01/08(土) 23:05:04.70 ID:Df3tzX0P 逆スラッシュは、日本語・Windows 用のキーボードで、半角の\ と同じ 半角の\ と見た目が同じでも、異なる文字コードの文字があるので、 それは使わないようにすべき! http://mevius.5ch.net/test/read.cgi/tech/1616856733/63
64: デフォルトの名無しさん [sage] 2022/01/09(日) 19:38:34.71 ID:C8vy8rqb プログラムコードの中に全角文字を入れない というだけで十分では? http://mevius.5ch.net/test/read.cgi/tech/1616856733/64
65: デフォルトの名無しさん [sage] 2022/01/09(日) 20:41:20.51 ID:G7UaEudb そんな話はしていない。 アホなの? http://mevius.5ch.net/test/read.cgi/tech/1616856733/65
66: デフォルトの名無しさん [] 2022/01/09(日) 20:58:02.56 ID:j/1ajBbY 運用でカバーできる…そんなふうに考えていた時期が俺にもありました http://mevius.5ch.net/test/read.cgi/tech/1616856733/66
67: デフォルトの名無しさん [sage] 2022/01/10(月) 00:32:28.18 ID:lVSGmVUf おまいらの話がさっぱりわからん もしかしておまいらの画面にはレス中の \ が \ と表示されてるのか? http://mevius.5ch.net/test/read.cgi/tech/1616856733/67
68: デフォルトの名無しさん [sage] 2022/01/10(月) 00:32:56.45 ID:lVSGmVUf あーやっぱりそうかww http://mevius.5ch.net/test/read.cgi/tech/1616856733/68
69: デフォルトの名無しさん [] 2022/01/10(月) 00:57:25.51 ID:av6tewvz U+005C なのか U+00A5 なのかという問題 http://mevius.5ch.net/test/read.cgi/tech/1616856733/69
70: デフォルトの名無しさん [] 2022/01/10(月) 01:03:42.10 ID:av6tewvz 以前 Linux の端末で Perl のプログラムで改行として ¥n を入れたらそのまま画面に ¥n が出て来て驚いたことがあったが、 その時はキーボードの「¥」を押すと U+00A5 が入力されており「\」を押すと U+005C が入力されている状態だった。 もちろんキーボードの通りに端末画面に出る。 ま、しかし、これが本来あるべき姿だよな。 http://mevius.5ch.net/test/read.cgi/tech/1616856733/70
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 44 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.006s