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.28.1)
▼前スレ
Perlについての質問箱 61箱目
http://toro.5ch.net/test/read.cgi/tech/1381561905/
Perlについての質問箱 62箱目
http://toro.5ch.net/test/read.cgi/tech/1385039352/
Perlについての質問箱 63箱目
https://mevius.5ch.net/test/read.cgi/tech/1392820583/
探検
Perlについての質問箱 64箱目
■ このスレッドは過去ログ倉庫に格納されています
2019/02/01(金) 09:44:37.18ID:1/Kr4Qjk
558デフォルトの名無しさん
2020/07/27(月) 20:24:22.40ID:2I3xUck9 頭悪くてプログラムしかできなかった大企業CEO一覧
http://re-file.com/18k/1677/
http://re-file.com/18k/1677/
559デフォルトの名無しさん
2020/07/27(月) 22:09:54.28ID:P2Gsimd7 研究目的なら、犯罪の意思がないから、無罪だろ
560デフォルトの名無しさん
2020/07/27(月) 23:21:16.44ID:Z4OWIfz1561デフォルトの名無しさん
2020/07/27(月) 23:23:00.46ID:Dzov2n68 >>560
そんな事みんな知ってるよ
そんな事みんな知ってるよ
562デフォルトの名無しさん
2020/07/27(月) 23:33:36.72ID:Dzov2n68 法律に詳しいオレってカッコいいだろう?
563デフォルトの名無しさん
2020/07/28(火) 00:29:51.31ID:cSYuj1Eq >>557
お前は裁判になって負けたら責任全部背負うのか?
お前は裁判になって負けたら責任全部背負うのか?
564デフォルトの名無しさん
2020/07/28(火) 01:16:10.36ID:YHRj/bUX 責任w
565デフォルトの名無しさん
2020/07/28(火) 01:21:05.81ID:YHRj/bUX 暗号化解除してないので責任wないですぅ プ
566デフォルトの名無しさん
2020/07/28(火) 01:36:31.30ID:Jzf+DoQ+ 自称”法律専門家”の底辺ニート達が不毛な議論を展開すると予想
567デフォルトの名無しさん
2020/07/28(火) 01:48:48.45ID:R7vB/BT5 コピー許可するフラグをいじるのは私的利用の範囲なら自由じゃないですか?
ここでその方法を聞いたりその答えを書いたりした人がどうなるかはわかりませんが
ここでその方法を聞いたりその答えを書いたりした人がどうなるかはわかりませんが
568デフォルトの名無しさん
2020/07/28(火) 02:17:19.93ID:F+mRlQPD >>567
他人が使うためにプログラムを公開することに問題がないとでも?
他人が使うためにプログラムを公開することに問題がないとでも?
569デフォルトの名無しさん
2020/07/28(火) 02:23:12.72ID:p8KDyqHY Winnyの作者は捕まるが利用者は捕まらない
包丁の販売は捕まらないか利用者は捕まる事が有る
YouTubeであるけど包丁を自作して販売したら捕まるのか?
包丁の販売は捕まらないか利用者は捕まる事が有る
YouTubeであるけど包丁を自作して販売したら捕まるのか?
570デフォルトの名無しさん
2020/07/28(火) 02:35:26.47ID:R7vB/BT5571デフォルトの名無しさん
2020/07/28(火) 05:40:11.08ID:U3aN9PuQ おかしな雲行きになってきたので説明(釈明)を
まず第一に、このスクリプトだけでは目的を達成することができません
いくつか別ファイルを修正する必要があります
当然ながらこのスレではそれらは公開されていません
不完全な変なデータが出来上がるだけです
第二にこの手法が通用するのは、10年以上前に発売された「ある機種」のみです
次機種以降ではこの"バグ"はすっかり塞がれました
ディスクの中身をこれほどたやすく弄れるなんて話は聞いたことがないです
今現在どれほどの人がこの機種を使っているか知りませんが。。。
そしてこれは「暗号化解除」を目的としていません
ヘッダの一部分をちょっと弄っただけでプロテクトが外れるとか、幼稚園児ですか?
これはデータを細工して機器を「騙している」にすぎません
まず第一に、このスクリプトだけでは目的を達成することができません
いくつか別ファイルを修正する必要があります
当然ながらこのスレではそれらは公開されていません
不完全な変なデータが出来上がるだけです
第二にこの手法が通用するのは、10年以上前に発売された「ある機種」のみです
次機種以降ではこの"バグ"はすっかり塞がれました
ディスクの中身をこれほどたやすく弄れるなんて話は聞いたことがないです
今現在どれほどの人がこの機種を使っているか知りませんが。。。
そしてこれは「暗号化解除」を目的としていません
ヘッダの一部分をちょっと弄っただけでプロテクトが外れるとか、幼稚園児ですか?
これはデータを細工して機器を「騙している」にすぎません
572デフォルトの名無しさん
2020/07/28(火) 05:41:52.28ID:U3aN9PuQ 「暗号化解除ではない」と書いているのに裁判(w)とか責任(w)とか言ってる人って
字が読めないのか、頭が悪くて理解できないのか、あるいは目が見えないのか
10年前も当時の2ちゃんねる()で話題になって多くのスクリプトやプログラムも配布されました
彼らは訴えられたのかなぁ?心配です(棒
ついでに言えば
実は>>530は私です
壮大な自作自演です(今時)
進捗表示を教えてほしかっただけなのです。。。
みなさん釣り堀へようこそ
そして農家の朝は早い
字が読めないのか、頭が悪くて理解できないのか、あるいは目が見えないのか
10年前も当時の2ちゃんねる()で話題になって多くのスクリプトやプログラムも配布されました
彼らは訴えられたのかなぁ?心配です(棒
ついでに言えば
実は>>530は私です
壮大な自作自演です(今時)
進捗表示を教えてほしかっただけなのです。。。
みなさん釣り堀へようこそ
そして農家の朝は早い
573デフォルトの名無しさん
2020/07/28(火) 05:43:41.18ID:U3aN9PuQ それでは最後に
普段から社会にこれっぽっちも貢献してないくせに、こんな匿名掲示板で妙な倫理観や底が浅い正義感を振りかざすとか
以降、間抜けな人たちの「負け惜しみ」のレスが続きます
屁理屈、論点ずらし、人格否定など、つたない書き込みをしばらくの間お楽しみください
合わせて「おかしな雲行き まで読んだ」もお楽しみください
普段から社会にこれっぽっちも貢献してないくせに、こんな匿名掲示板で妙な倫理観や底が浅い正義感を振りかざすとか
以降、間抜けな人たちの「負け惜しみ」のレスが続きます
屁理屈、論点ずらし、人格否定など、つたない書き込みをしばらくの間お楽しみください
合わせて「おかしな雲行き まで読んだ」もお楽しみください
574デフォルトの名無しさん
2020/07/28(火) 06:49:13.06ID:Z44sycP1 釣り堀する前に、Linuxインストールできるようになれよ。
575デフォルトの名無しさん
2020/07/28(火) 07:03:33.82ID:U3aN9PuQ Linuxで思い出したが、最新のUbuntuとかでは(仕様変更で)その機種の外付けHDDを「書き込み可」
でマウントできない
手動で”-RW”オプション付けてマウントしようとしてもダメ
書き込みできないからスクリプトもエラーになる
仕方ないのでUDF関連のソースファイルを弄ってカーネルをコンパイルしている
多分世界で私だけだと思う(そんな需要があるわけない)
>>574
頑張って
でマウントできない
手動で”-RW”オプション付けてマウントしようとしてもダメ
書き込みできないからスクリプトもエラーになる
仕方ないのでUDF関連のソースファイルを弄ってカーネルをコンパイルしている
多分世界で私だけだと思う(そんな需要があるわけない)
>>574
頑張って
576デフォルトの名無しさん
2020/07/28(火) 07:08:12.80ID:Z44sycP1 パソコンはコマンドが基本だからな。
コマンド出来るようになれよ。
コマンド出来るようになれよ。
577デフォルトの名無しさん
2020/07/28(火) 07:37:42.56ID:s7pIWQUC readの有無で差がなさすぎて信じがたいんで実験してみた
RAMディスクで fsutil file createnew data 2000000000 して
Measure-Command { perl -e 'open F, q/+< data/; binmode F; while ($l = read F, $_, 0x8000) { substr $_, 0x1c, 1, qq/\0/; seek F, -$l, 1; print F }' } | % TotalSeconds
2.8214867
Measure-Command { perl -e 'open F, q/+< data/; binmode F; seek F, 0x1c, 0; while (! eof F) { seek F, 0, 1; print F qq/\0/; seek F, 0x7fff, 1 }' } | % TotalSeconds
1.3621179
readしなくても32KB毎に書く時に読むだろうからこんなもんか
RAMディスクで fsutil file createnew data 2000000000 して
Measure-Command { perl -e 'open F, q/+< data/; binmode F; while ($l = read F, $_, 0x8000) { substr $_, 0x1c, 1, qq/\0/; seek F, -$l, 1; print F }' } | % TotalSeconds
2.8214867
Measure-Command { perl -e 'open F, q/+< data/; binmode F; seek F, 0x1c, 0; while (! eof F) { seek F, 0, 1; print F qq/\0/; seek F, 0x7fff, 1 }' } | % TotalSeconds
1.3621179
readしなくても32KB毎に書く時に読むだろうからこんなもんか
578デフォルトの名無しさん
2020/07/28(火) 13:31:46.55ID:DVrEteyf >>571
あんた誰?
あんた誰?
579デフォルトの名無しさん
2020/07/28(火) 14:31:17.47ID:U3aN9PuQ580デフォルトの名無しさん
2020/07/28(火) 15:14:32.97ID:DVrEteyf ひみちゅ
581デフォルトの名無しさん
2020/07/28(火) 16:12:16.22ID:7IzxJUwl >>580
なんかこの人好きやわ笑笑
なんかこの人好きやわ笑笑
582デフォルトの名無しさん
2020/07/28(火) 20:58:23.32ID:U3aN9PuQ 約13GBのデータで(usb2.0)
2ch配布Linuxネイティブアプリ@10年前 64bit版
12m10.357s
Perlスクリプト readあり
12m5.101s
Perlスクリプト readなし
8m38.678s
2ch配布Linuxネイティブアプリ@10年前 64bit版
12m10.357s
Perlスクリプト readあり
12m5.101s
Perlスクリプト readなし
8m38.678s
583デフォルトの名無しさん
2020/07/28(火) 21:18:54.63ID:LCUSVvjE >>582
死ね、クズ
死ね、クズ
584デフォルトの名無しさん
2020/07/28(火) 21:42:15.96ID:7IzxJUwl585デフォルトの名無しさん
2020/07/28(火) 21:51:29.80ID:rf/YfV6w 殺したいほど嫌悪するような事か?
おそらく心の病気だから早く病院行った方がいい
おそらく心の病気だから早く病院行った方がいい
586デフォルトの名無しさん
2020/07/28(火) 22:01:24.31ID:7IzxJUwl587デフォルトの名無しさん
2020/07/28(火) 22:22:07.89ID:Jbl72Gtp もっと争え
588デフォルトの名無しさん
2020/07/28(火) 22:27:18.25ID:7IzxJUwl ネットはこうでなくちゃ!明日の学校めんどいけど、この争いみたら
楽になれる!
楽になれる!
589デフォルトの名無しさん
2020/07/28(火) 23:07:09.57ID:rf/YfV6w なぁお前らってホントにコード書けるの?
何でここにいるの?
何でここにいるの?
590デフォルトの名無しさん
2020/07/28(火) 23:26:37.15ID:rf/YfV6w 明日の学校とか五十過ぎのオッサンが恥ずかしくないのか?
591デフォルトの名無しさん
2020/07/28(火) 23:54:00.05ID:7IzxJUwl >>590
福岡県福岡市東区在住
西南学院中学二年〇組テニス部
学力推移調査:225/223位
全教研赤坂本校筑女,西南合同vクラス
明日の時間割英会話.社会.聖書.体育
(保護者面談なので4限授業)
頭は悪いがプログラムができるのでマークザッカーバーグ
のように校内snsをつくって流行らせようとしてます笑笑。
昨日、無断で水曜日に部活休んだのでめちゃくちゃ怒鳴られました。
明日の聖書は、「手紙」というくだらない日本映画を見ます。
今日は一時から「爆笑問題カウボーイ」というラジオがあるので、
monsterのんでずっと起きてます。2年になって運が悪いことに親しかった
友達は2組と五組に分かれてしまい、僕だけ〇組という
辺境の地に飛ばされました笑笑。好きなアーティストは「ずっと真夜中でいいのに」
という顔出ししていないバンドです。さっき5chのずとまよ専用スレで顔写真をみて、
とても美人だったので今すごくうれしいです。好きなサイトは、「リファイル」というグロサイトです。
「西南学院中学2年という名前でコメント投稿してるので、グッドボタン押して下さい。
福岡県福岡市東区在住
西南学院中学二年〇組テニス部
学力推移調査:225/223位
全教研赤坂本校筑女,西南合同vクラス
明日の時間割英会話.社会.聖書.体育
(保護者面談なので4限授業)
頭は悪いがプログラムができるのでマークザッカーバーグ
のように校内snsをつくって流行らせようとしてます笑笑。
昨日、無断で水曜日に部活休んだのでめちゃくちゃ怒鳴られました。
明日の聖書は、「手紙」というくだらない日本映画を見ます。
今日は一時から「爆笑問題カウボーイ」というラジオがあるので、
monsterのんでずっと起きてます。2年になって運が悪いことに親しかった
友達は2組と五組に分かれてしまい、僕だけ〇組という
辺境の地に飛ばされました笑笑。好きなアーティストは「ずっと真夜中でいいのに」
という顔出ししていないバンドです。さっき5chのずとまよ専用スレで顔写真をみて、
とても美人だったので今すごくうれしいです。好きなサイトは、「リファイル」というグロサイトです。
「西南学院中学2年という名前でコメント投稿してるので、グッドボタン押して下さい。
592デフォルトの名無しさん
2020/07/28(火) 23:55:04.17ID:V3SVLGoH >>590
学校の先生かも知れんよ
学校の先生かも知れんよ
593デフォルトの名無しさん
2020/07/28(火) 23:59:10.33ID:7IzxJUwl ほんとに信じてくれ!
594デフォルトの名無しさん
2020/07/29(水) 00:00:07.74ID:hFsck1GX >>592
全然信じてくれんやん笑笑
全然信じてくれんやん笑笑
595デフォルトの名無しさん
2020/07/29(水) 00:01:21.85ID:hFsck1GX >>591
というか、こんなにネットにさらすのはやばかったかな?
というか、こんなにネットにさらすのはやばかったかな?
596デフォルトの名無しさん
2020/07/29(水) 00:05:34.09ID:hFsck1GX597デフォルトの名無しさん
2020/07/29(水) 00:11:56.16ID:g1h81RwA >>593
リアル厨房なら、perlなんかやめたほうがいいね。
python のほうがずっと言語仕様が綺麗で、複雑な処理も簡単にこなせる。
今、perlを使っているのはな、20年前からperlを使ってて、
他の言語に乗り換える気力も失ったオッサンばっかりだよ。
リアル厨房なら、perlなんかやめたほうがいいね。
python のほうがずっと言語仕様が綺麗で、複雑な処理も簡単にこなせる。
今、perlを使っているのはな、20年前からperlを使ってて、
他の言語に乗り換える気力も失ったオッサンばっかりだよ。
598デフォルトの名無しさん
2020/07/29(水) 00:13:37.08ID:CwVjY0Ri 蛇より真珠のがキレイだ
599532
2020/07/29(水) 00:13:51.84ID:gNILtmsT python, goなど他の言語もやってますが
600デフォルトの名無しさん
2020/07/29(水) 00:19:14.22ID:hFsck1GX >>597
最近はperlよりphpに力を入れてます
最近はperlよりphpに力を入れてます
601デフォルトの名無しさん
2020/07/29(水) 02:50:53.58ID:ZD2Ud5DP602デフォルトの名無しさん
2020/07/29(水) 02:59:07.17ID:TsNd4noZ Kotlinもよろしく
603デフォルトの名無しさん
2020/07/29(水) 07:08:18.48ID:q44g7qzE 問題
----
$flags に格納されているフラグ 0x40 をリセットして 0x00 にする
次の3通りの処理から採用する方法を理由を添えて答えなさい
a. $flags = 0x00
b. $flags = 0x00 if $flags == 0x40
c. $flags &= ~0x40
----
$flags に格納されているフラグ 0x40 をリセットして 0x00 にする
次の3通りの処理から採用する方法を理由を添えて答えなさい
a. $flags = 0x00
b. $flags = 0x00 if $flags == 0x40
c. $flags &= ~0x40
604デフォルトの名無しさん
2020/07/29(水) 08:33:33.53ID:W2ZwK0DF でも、そこだけ書き換えて、ちゃんと動いたの?
もし、チェックサムがあれば、エラーになるはずだけど
もし、チェックサムがあれば、エラーになるはずだけど
605デフォルトの名無しさん
2020/07/29(水) 15:15:31.23ID:opF1rrDZ606デフォルトの名無しさん
2020/07/31(金) 06:23:48.86ID:uvjudIRN607デフォルトの名無しさん
2020/08/02(日) 05:05:52.61ID:IlYSPDQE Cは他のビットを崩さずに 0x40 の所のビット(2進だと01000000)だけ0にする。
608デフォルトの名無しさん
2020/08/02(日) 07:04:07.45ID:MjfLntA9 何を 0x00 にするのか不明確な時点で出題者の頭が悪い。
a を意図しているなら 0x40 は関係ないし
b を意図しているなら「0x40 をリセットして」ではなく「0x40 がセットされていれば」と
書かれていなければならない。
ひょっとして、元の値が 0 だったらリセットしたことにはならないということか?
c を意図しているなら他のビットが全部 0 の場合に限り「$flags の値を 0x00 にする」
ことになるだろうが、そのようには書かれていない。
$flags & 0x40 を 0 にするということなら、 0x00 と表記するのは
値としては同じでも適切な表記なのか疑問が残る。
しかしこれが最も無理のない解釈だろう。
こんなに忖度させるようでは出題者は落第だ。
a を意図しているなら 0x40 は関係ないし
b を意図しているなら「0x40 をリセットして」ではなく「0x40 がセットされていれば」と
書かれていなければならない。
ひょっとして、元の値が 0 だったらリセットしたことにはならないということか?
c を意図しているなら他のビットが全部 0 の場合に限り「$flags の値を 0x00 にする」
ことになるだろうが、そのようには書かれていない。
$flags & 0x40 を 0 にするということなら、 0x00 と表記するのは
値としては同じでも適切な表記なのか疑問が残る。
しかしこれが最も無理のない解釈だろう。
こんなに忖度させるようでは出題者は落第だ。
609デフォルトの名無しさん
2020/08/02(日) 07:43:03.21ID:muADJDro610デフォルトの名無しさん
2020/08/02(日) 09:49:24.57ID:LgIKwsTf pythonいいけどちゃんと書かないとすぐバグるから気をつけてな
611デフォルトの名無しさん
2020/08/02(日) 10:05:23.75ID:Vanmrtqf perlもちゃんと書かないとバグるぞ
612デフォルトの名無しさん
2020/08/02(日) 12:33:21.72ID:uvJ0AhRU ちゃんと書かないで
バグらない言語ってあるのか?
バグらない言語ってあるのか?
613デフォルトの名無しさん
2020/08/02(日) 12:40:43.04ID:L8TYFRoG 水掛け論でしょ 言語仕様を理解しないで適当に書いてちゃんと動くかどうかの話
614デフォルトの名無しさん
2020/08/02(日) 12:45:33.70ID:Vanmrtqf 仕様からコードを自動生成すればバグらない
仕様はちゃんとしか書けないものとする
仕様はちゃんとしか書けないものとする
615デフォルトの名無しさん
2020/08/02(日) 15:01:47.55ID:4gDW5awL616デフォルトの名無しさん
2020/08/02(日) 16:23:15.21ID:qo03Ruan また釣りのクズか
617デフォルトの名無しさん
2020/08/02(日) 17:01:54.34ID:4gDW5awL 病気の人か
5ちゃんねるで悪態つくだけの惨めでみっともない人生
5ちゃんねるで悪態つくだけの惨めでみっともない人生
618デフォルトの名無しさん
2020/08/02(日) 17:05:00.79ID:4gDW5awL619デフォルトの名無しさん
2020/08/02(日) 18:07:45.30ID:JnzrulEq >>617
死ね
死ね
620デフォルトの名無しさん
2020/08/02(日) 18:54:17.87ID:4gDW5awL 効いたな
621デフォルトの名無しさん
2020/08/02(日) 19:26:37.18ID:TAOBMMvc >>614
数万人の天才が挑戦しているがいまだに達成していない
数万人の天才が挑戦しているがいまだに達成していない
622デフォルトの名無しさん
2020/08/02(日) 19:41:56.53ID:hIQzyyzC623デフォルトの名無しさん
2020/08/02(日) 20:29:18.39ID:Vanmrtqf バグの無いことの証明が不可能なのは、
ゲーデルの不完全性定理とかあのへんまで突っ込んでいくからであって、
99.9%okなら良しとする現実世界なら普通に可能
ゲーデルの不完全性定理とかあのへんまで突っ込んでいくからであって、
99.9%okなら良しとする現実世界なら普通に可能
624デフォルトの名無しさん
2020/08/03(月) 23:11:06.80ID:/fZxIKnK >>623
そしてその0.1%が理由になって戦争になるわけですね
そしてその0.1%が理由になって戦争になるわけですね
625デフォルトの名無しさん
2020/08/09(日) 01:00:36.25ID:JDEJdFnx 過疎ってると落ち着く
626デフォルトの名無しさん
2020/08/13(木) 15:32:24.87ID:g8OxF1lY UTF8からShift-JISに変換し、その中で変換できなかった文字列はhtml数値文字参照に変換したいです
(UTF8)楽しいね🙂→(Shift-JIS)楽しいね🙂 ;
このような風にです
こちらのサイトを参考にして↓のように書いてみたのですが
https://blog.netandfield.com/shar/i/details/004482.html#home
use Encode;
my $word = "楽しいね🙂";
Encode::from_to( $word, "UTF8", "Shift_JIS", Encode::FB_HTMLCREF);
print "$word";
(結果)
?y??????🙂 ;
と、元の日本語が文字化けしてしまいます
どこを直せばいいでしょうか?
Perlのバージョンは5.18.2
Encodeモジュールのバージョンは2.49です
(UTF8)楽しいね🙂→(Shift-JIS)楽しいね🙂 ;
このような風にです
こちらのサイトを参考にして↓のように書いてみたのですが
https://blog.netandfield.com/shar/i/details/004482.html#home
use Encode;
my $word = "楽しいね🙂";
Encode::from_to( $word, "UTF8", "Shift_JIS", Encode::FB_HTMLCREF);
print "$word";
(結果)
?y??????🙂 ;
と、元の日本語が文字化けしてしまいます
どこを直せばいいでしょうか?
Perlのバージョンは5.18.2
Encodeモジュールのバージョンは2.49です
627デフォルトの名無しさん
2020/08/13(木) 16:19:08.99ID:HLH3bdVq その出力先(ターミナル?コンソール?)は、そもそもシフトJISテキストを表示できるのか?
できない場合は、プログラムは関係なく、ターミナルが文字化けする。
ためしにtext.htmlのようなファイルに出力してから、その内容を確認したら?
できない場合は、プログラムは関係なく、ターミナルが文字化けする。
ためしにtext.htmlのようなファイルに出力してから、その内容を確認したら?
628デフォルトの名無しさん
2020/08/13(木) 16:44:17.95ID:DQVPr3Tq 前にやろうとして諦めた
pythonだと簡単
try:
str_sjis = str.encode("CP932")
except UnicodeEncodeError:
print str.encode("utf-8")
pythonだと簡単
try:
str_sjis = str.encode("CP932")
except UnicodeEncodeError:
print str.encode("utf-8")
629デフォルトの名無しさん
2020/08/13(木) 16:48:34.24ID:/BJ4BGZD630デフォルトの名無しさん
2020/08/13(木) 17:00:11.25ID:g8OxF1lY631デフォルトの名無しさん
2020/08/13(木) 22:25:11.59ID:L5UfXSE8 >>628
笑わすんじゃねーw
笑わすんじゃねーw
632デフォルトの名無しさん
2020/08/15(土) 08:35:13.06ID:ACgG3ouC プロトタイプ属性の指定がどうやってもできん
use feature 'signatures';
sub foo :prototype($$) ($left, $right) {
return $left + $right;
}
これで構文エラーになる理由が全く分からん
use feature 'signatures';
sub foo :prototype($$) ($left, $right) {
return $left + $right;
}
これで構文エラーになる理由が全く分からん
633デフォルトの名無しさん
2020/08/15(土) 10:52:43.99ID:N6F3nDZU 釣れますか?
634デフォルトの名無しさん
2020/08/15(土) 12:09:58.58ID:ybTBju6n 同時には使えんやろ
635デフォルトの名無しさん
2020/08/15(土) 14:02:00.78ID:ACgG3ouC え????
use feature 'signatures';
sub NAME(SIG) BLOCK # with signature
sub NAME :ATTRS (SIG) BLOCK # with signature, attributes
sub NAME :prototype(PROTO) (SIG) BLOCK # with signature, prototype
構文こうなってるけど?
use feature 'signatures';
sub NAME(SIG) BLOCK # with signature
sub NAME :ATTRS (SIG) BLOCK # with signature, attributes
sub NAME :prototype(PROTO) (SIG) BLOCK # with signature, prototype
構文こうなってるけど?
636デフォルトの名無しさん
2020/08/15(土) 15:48:07.40ID:k2IZqmRY 以下のようなhtmlがあるとします
<div>
<p>AAA</p><p>BBB</p><p>CCC</p><p>DDD</p>
</div>
<p></p>の構文が4個の場合は、構文を文字列として2個ずつ別の変数に分けたいです。
($str1 に"<p>AAA</p><p>BBB</p>" 、 $str2に"<p>CCC</p><p>DDD</p>"
<p></p>の構文が6個の場合は3個ずつ、8個の場合は4個ずつ・・・と前半と後半で分けて
2つの変数に代入したいのですが、方法はあるでしょうか?
<div>
<p>AAA</p><p>BBB</p><p>CCC</p><p>DDD</p>
</div>
<p></p>の構文が4個の場合は、構文を文字列として2個ずつ別の変数に分けたいです。
($str1 に"<p>AAA</p><p>BBB</p>" 、 $str2に"<p>CCC</p><p>DDD</p>"
<p></p>の構文が6個の場合は3個ずつ、8個の場合は4個ずつ・・・と前半と後半で分けて
2つの変数に代入したいのですが、方法はあるでしょうか?
637デフォルトの名無しさん
2020/08/15(土) 16:19:42.08ID:V1MJgzDn そら一発では無理だろう
一旦配列に入れてから真ん中で分ける
一旦配列に入れてから真ん中で分ける
638デフォルトの名無しさん
2020/08/15(土) 16:34:06.12ID:o+i8zw5r 釣りに引っ掛かるな
639デフォルトの名無しさん
2020/08/15(土) 17:04:09.01ID:gFfdk9Ij >>636
はい。あります。
はい。あります。
640デフォルトの名無しさん
2020/08/15(土) 19:50:33.78ID:dQrORRCv ちょろい問題。単なる初心者で釣りなんかじゃないでしょう。
@foo = (); @bar = ();
while ($str =~ s{^[\s\S]*?<p>(.+?)</p>(.*)<p>(.+?)</p>[\s\S]*$}{$2}){
push @foo, $1;
unshift @bar, $3;
}
@foo = (); @bar = ();
while ($str =~ s{^[\s\S]*?<p>(.+?)</p>(.*)<p>(.+?)</p>[\s\S]*$}{$2}){
push @foo, $1;
unshift @bar, $3;
}
641デフォルトの名無しさん
2020/08/15(土) 19:55:02.56ID:dQrORRCv 2行目間違えてた。
while ($str =~ s{^[\s\S]*?<p>(.+?)</p>(.*)<p>(.+?)</p>[\s\S]*?$}{$2}){
while ($str =~ s{^[\s\S]*?<p>(.+?)</p>(.*)<p>(.+?)</p>[\s\S]*?$}{$2}){
642デフォルトの名無しさん
2020/08/15(土) 20:01:49.33ID:UM/CpThf # 元ネタ
my $html = '<html><p>hoge1</p><p>hoge2</p><p>hoge3</p><p>hoge4</p><p>hoge5</p><p>hoge6</p><p>hoge7</p><p>hoge8</p><p>hoge9</p><p>hoge10</p></html>';
# 全部のpタグの中身を引っ掛ける
my @p_list = $html =~ /<p>(.+?)<\/p?/g;
# 引っかかった数取得
my $size = int(@p_list);
# 前半と後半に分けて突っ込む
my @mae = @p_list[0..int($size/2)-1];
my @ato = @p_list[int($size/2)..$size-1];
# 結果表示テスト
print Dumper([\@mae, \@ato]);
my $html = '<html><p>hoge1</p><p>hoge2</p><p>hoge3</p><p>hoge4</p><p>hoge5</p><p>hoge6</p><p>hoge7</p><p>hoge8</p><p>hoge9</p><p>hoge10</p></html>';
# 全部のpタグの中身を引っ掛ける
my @p_list = $html =~ /<p>(.+?)<\/p?/g;
# 引っかかった数取得
my $size = int(@p_list);
# 前半と後半に分けて突っ込む
my @mae = @p_list[0..int($size/2)-1];
my @ato = @p_list[int($size/2)..$size-1];
# 結果表示テスト
print Dumper([\@mae, \@ato]);
643デフォルトの名無しさん
2020/08/15(土) 20:03:08.33ID:UM/CpThf なんだこの糞改行(´・ω・`)
# 全部のpタグの中身を引っ掛ける
my @p_list = $html =~ /<p>(.+?)<\/p>/g;
# 引っかかった数取得
my $size = int(@p_list);
# 前半と後半に分けて突っ込む
my @mae = @p_list[0..int($size/2)-1];
my @ato = @p_list[int($size/2)..$size-1];
# 結果表示テスト
print Dumper([\@mae, \@ato]);
# 全部のpタグの中身を引っ掛ける
my @p_list = $html =~ /<p>(.+?)<\/p>/g;
# 引っかかった数取得
my $size = int(@p_list);
# 前半と後半に分けて突っ込む
my @mae = @p_list[0..int($size/2)-1];
my @ato = @p_list[int($size/2)..$size-1];
# 結果表示テスト
print Dumper([\@mae, \@ato]);
644デフォルトの名無しさん
2020/08/15(土) 20:11:32.28ID:UM/CpThf 俺のは巨大なHTMLだとメモリが死ぬ
安全策なら>>640
安全策なら>>640
645デフォルトの名無しさん
2020/08/15(土) 20:49:31.50ID:ODJGcA2C646デフォルトの名無しさん
2020/08/16(日) 03:38:06.22ID:Degs0Zl8 Ruby の、Nokogiri で、スクレイピングしてみた
require 'nokogiri'
doc = Nokogiri::HTML(<<EOT)
<div>
<p>AAA</p><p>BBB</p><p>CCC</p><p>DDD</p>
</div>
EOT
p_tags = doc.css( "div > p" ) # div の直下のp
half_cnt = p_tags.length / 2
def make_p_str( ary ) # 要素の配列から、文字列を作る
str = ""
ary.each do |elem|
tmp = elem.to_html # 要素
tmp.chomp! # 末尾の改行を削除する
str += tmp # 連結
end
str
end
p str_before = make_p_str( p_tags[ 0...half_cnt ] ) # 前半
p str_after = make_p_str( p_tags[ half_cnt..-1 ] ) # 後半
出力
"<p>AAA</p><p>BBB</p>"
"<p>CCC</p><p>DDD</p>"
require 'nokogiri'
doc = Nokogiri::HTML(<<EOT)
<div>
<p>AAA</p><p>BBB</p><p>CCC</p><p>DDD</p>
</div>
EOT
p_tags = doc.css( "div > p" ) # div の直下のp
half_cnt = p_tags.length / 2
def make_p_str( ary ) # 要素の配列から、文字列を作る
str = ""
ary.each do |elem|
tmp = elem.to_html # 要素
tmp.chomp! # 末尾の改行を削除する
str += tmp # 連結
end
str
end
p str_before = make_p_str( p_tags[ 0...half_cnt ] ) # 前半
p str_after = make_p_str( p_tags[ half_cnt..-1 ] ) # 後半
出力
"<p>AAA</p><p>BBB</p>"
"<p>CCC</p><p>DDD</p>"
647デフォルトの名無しさん
2020/08/16(日) 06:28:33.83ID:Rc5RuLFB Mechanizeでやれる?
648646
2020/08/16(日) 07:20:54.63ID:Degs0Zl8 Mechanize とか、curl + Nokogiri でも、静的なページなら、DOM を取得できるけど、
Ajax など、JavaScript で、動的にDOMを組み立てている場合は、
sleep するとか、Selenium WebDriver などを使わないと、DOMを取得できない
5ch などは、空のHTMLを送ってきてから、
Ajax で、ページの内容を取得しているから、
HTMLをスクレイピングするだけでは、タイミングによっては内容が存在しない
Ajax など、JavaScript で、動的にDOMを組み立てている場合は、
sleep するとか、Selenium WebDriver などを使わないと、DOMを取得できない
5ch などは、空のHTMLを送ってきてから、
Ajax で、ページの内容を取得しているから、
HTMLをスクレイピングするだけでは、タイミングによっては内容が存在しない
649646
2020/08/16(日) 07:27:51.64ID:Degs0Zl8 Ruby で、curl, Nokogiri の例
require 'nokogiri'
html = `curl http://www.example.com/`
doc = Nokogiri::HTML( html )
elements = doc.css( "h1" )
puts elements.first.content #=> Example Domain
open-uri の例
require 'open-uri'
require 'nokogiri'
url = 'http://www.example.com/'
doc = Nokogiri::HTML(open(url))
require 'nokogiri'
html = `curl http://www.example.com/`
doc = Nokogiri::HTML( html )
elements = doc.css( "h1" )
puts elements.first.content #=> Example Domain
open-uri の例
require 'open-uri'
require 'nokogiri'
url = 'http://www.example.com/'
doc = Nokogiri::HTML(open(url))
650デフォルトの名無しさん
2020/08/16(日) 07:29:48.83ID:Rc5RuLFB プロテクトのつもりは無いんだろうけど、機械にやさしくない
最近だとメルカリのページ取得して、なんで空? と思った
最近だとメルカリのページ取得して、なんで空? と思った
651646
2020/08/16(日) 09:02:04.52ID:Degs0Zl8 Selenium WebDriver なら、指定した要素が出現するまで、指定した時間だけ待ってくれる
漏れは、10〜20秒ぐらいを指定してる
漏れは、10〜20秒ぐらいを指定してる
652デフォルトの名無しさん
2020/08/16(日) 09:19:07.80ID:Rc5RuLFB webであれこれしたいなら、javaが近道なのは自明だな
653デフォルトの名無しさん
2020/08/16(日) 13:18:51.97ID:YKxJCnVG Javaは、なにをするにしても遠回りやろ。w
654デフォルトの名無しさん
2020/08/16(日) 14:20:54.02ID:bYLilpPQ 逆にPerlできないことってなんだ?
ライブラリは揃ってるものとして
ライブラリは揃ってるものとして
655デフォルトの名無しさん
2020/08/16(日) 15:22:58.74ID:9u3LM4y1 あんまりない
弱いのはライブラリ面なので言語的に不足してる機能はそれほどない
弱いのはライブラリ面なので言語的に不足してる機能はそれほどない
656デフォルトの名無しさん
2020/08/16(日) 16:02:30.33ID:0524gJdA CPANを探してなかったという経験がないしな
657デフォルトの名無しさん
2020/08/16(日) 18:58:24.31ID:5UHvUqAR なら、C++があれば他の言語は要らなくなる。
さらに極言すれば、アセンブラがあれば他の言語は要らなくなる。
さらに極言すれば、アセンブラがあれば他の言語は要らなくなる。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★10 [ぐれ★]
- 【日本大使館】中国在留邦人は安全確保を [ぐれ★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- 中国人「昔の仇を取る」「高市は狂ってる。制裁すればいい」「高市はことの重大さを認識してない」 [931948549]
- ニートしかいない時間ってマジでつまんないよな
- 小池百合子「キィィ…!なんでアタシより先に総理になってンのよ…あの女狐ッ!」
- 有識者「高市総理が発言を撤回したり、辞職するしかないと言っている人は、それで日中関係が今まで通りになると思ってる?」 [834922174]
- 【朗報】愛国烈士ほんこん、高市首相のために長文を投稿wwwwwwwwwwwww [834922174]
- カレーライスぐちゃぐちゃに混ぜる奴
