Perl初心者スレ(マジレス回答) (523レス)
Perl初心者スレ(マジレス回答) http://mevius.5ch.net/test/read.cgi/tech/1349538519/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
478: デフォルトの名無しさん [] 2019/08/30(金) 12:09:22.02 ID:VkI78Ia/ 除去?だったらs/パターン//gみたいにやらないと何も変わらないのでは? てか、それエラーにならないの? http://mevius.5ch.net/test/read.cgi/tech/1349538519/478
479: デフォルトの名無しさん [sage] 2019/08/30(金) 13:51:46.18 ID:XCxRWcZV 5chの書き込みのほう、つけ忘れてました perl -pe 's/<("[^"]*"|'[^']*'|[^'">])*>//g' です perl -pe 's/<.*?>//g'は動くんですけど perl -pe '<("[^"]*"|\'[^\']*\'|[^'">])*>'だと動かないんですよね http://mevius.5ch.net/test/read.cgi/tech/1349538519/479
480: デフォルトの名無しさん [sage] 2019/08/30(金) 13:52:36.95 ID:XCxRWcZV またやっちゃった perl -pe 's/<("[^"]*"|\'[^\']*\'|[^'">])*>//g' http://mevius.5ch.net/test/read.cgi/tech/1349538519/480
481: デフォルトの名無しさん [sage] 2019/08/30(金) 17:21:58.25 ID:8Dc5lx9D こうか? perl -pe 's/<("[^"]*"|'"'"'[^'"'"']*'"'"'|[^'"'"'">])*>//g' perlというよりシェルのシングルクォートの問題 http://mevius.5ch.net/test/read.cgi/tech/1349538519/481
482: デフォルトの名無しさん [sage] 2019/08/30(金) 17:42:16.91 ID:fIMZQtfT そこまでするくらいなら HTML::Parser を使う方がいいと思うよ。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/482
483: デフォルトの名無しさん [sage] 2019/08/30(金) 17:56:41.24 ID:XCxRWcZV >481 できました!、ありがとうございます。 'を'""'で括るのですね なんで\でエスケープにならないんでしょうね http://mevius.5ch.net/test/read.cgi/tech/1349538519/483
484: デフォルトの名無しさん [sage] 2019/08/30(金) 18:04:26.61 ID:XCxRWcZV パーサーも一度使ってみたんですが <p>hoge</p><p>hoge</p> pタグが一行に2つあると誤作動したりするんですよね http://mevius.5ch.net/test/read.cgi/tech/1349538519/484
485: デフォルトの名無しさん [sage] 2019/08/30(金) 23:22:18.80 ID:fIMZQtfT その誤作動がパーサーのせいかどうかは判らないが、少なくとも HTML::Parser でそんなことは起こらないから安心してほしい。 たとえばテキスト部分だけを出力したいならこんな感じでできる。 my $parser = HTML::Parser->new( text_h => [sub { print( $_[0]) },'text'], ); $parser->parse_file( \*STDIN); http://mevius.5ch.net/test/read.cgi/tech/1349538519/485
486: デフォルトの名無しさん [sage] 2019/08/31(土) 00:18:32.04 ID:mx6W2BK8 >485 参考になります。 パーサーもいろいろ種類あるみたいですね。 自分の使ってたのはhtml-xml-utilsというやつでした。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/486
487: デフォルトの名無しさん [sage] 2021/04/21(水) 00:35:38.31 ID:J2c8I4ei @aに0を100ケ追加するには、pushをforで100回回す以外の方法ありますか http://mevius.5ch.net/test/read.cgi/tech/1349538519/487
488: デフォルトの名無しさん [sage] 2021/04/21(水) 03:07:59.27 ID:aE0oGLsa push(@a, (0) x 100); http://mevius.5ch.net/test/read.cgi/tech/1349538519/488
489: デフォルトの名無しさん [sage] 2021/04/27(火) 18:16:47.03 ID:OX0aAdkQ >>488 ありがとうございました 俺が遅くなりまして申し訳ありません http://mevius.5ch.net/test/read.cgi/tech/1349538519/489
490: デフォルトの名無しさん [] 2021/11/19(金) 22:27:21.73 ID:v67hT9Zk 二つ以上の空白文字列を 一つの空白に変えたいのですが うまくいきません。 if($line=~/\s\s+/){ $line=~s/\s\s+/\s/g print("$line\n") } http://mevius.5ch.net/test/read.cgi/tech/1349538519/490
491: デフォルトの名無しさん [sage] 2021/11/20(土) 02:07:02.21 ID:h6kzSIM/ $line=~s/¥s¥s+/ /g では? http://mevius.5ch.net/test/read.cgi/tech/1349538519/491
492: デフォルトの名無しさん [sage] 2021/11/20(土) 20:14:01.04 ID:xbsxU5SW s/\s\s+/ /g; でうまくいったよ。 そうか、\sって正規表現だから、置換文字列に使うと「perl にそんな定義ないで!」ってなるのか。 これは俺も気を付けよう。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/492
493: デフォルトの名無しさん [sage] 2021/11/20(土) 20:36:42.09 ID:xbsxU5SW 置換といえばこのまえ、JSONで取得したUnicodeを表示したくて、 \u3042 → \N{U+3042} に置換しようとしたけど、できなかった。 \N{U+ }←ここにはリテラルしか書けないのかな。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/493
494: デフォルトの名無しさん [] 2021/12/14(火) 19:15:14.22 ID:LP8Fmqr9 if文で真偽値を判定するのってどうやるの? hoge() or die("Error\n"); ってなってた(hoge()の戻り値が魏ならエラー)のを標準出力したくて my $a = hoge(); if( ! $a ){ print("Error\n"); exit $!; } みたいにしたんだけど、if文の書き方ってこんなんで良いの? http://mevius.5ch.net/test/read.cgi/tech/1349538519/494
495: デフォルトの名無しさん [sage] 2021/12/25(土) 19:09:39.02 ID:pJ3Bii8w >>494 0を返しても、0という文字(アスキーコード0x30)として扱われたりするから、俺は if(scalar($a)) { とか if($a eq 0) { とかするよ。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/495
496: デフォルトの名無しさん [sage] 2021/12/25(土) 20:31:09.16 ID:62MjaTIU >>494 良い。 ! で条件反転させるんだったら unless 使っても良いと思うけどね。 unless ($a) { ... } みたいに。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/496
497: デフォルトの名無しさん [sage] 2021/12/30(木) 05:41:55.25 ID:grPlj9k3 良くないんだってば。 Perlをそういう流儀でやってるといつか痛い目にあうよ。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/497
498: 494ではない [sage] 2021/12/30(木) 08:07:22.12 ID:j5bdR14I >>495 マジか。 my $a = hoge(); において、左辺が 0、右辺が 0x30 になるのは、言語としてぶっ壊れているんじゃね? http://mevius.5ch.net/test/read.cgi/tech/1349538519/498
499: デフォルトの名無しさん [sage] 2021/12/30(木) 17:49:56.83 ID:QArx8wCq そういう言語なの 0 but true なんていう値もあるし http://mevius.5ch.net/test/read.cgi/tech/1349538519/499
500: デフォルトの名無しさん [sage] 2022/01/10(月) 19:33:13.97 ID:2hS04FMw do what perl mean http://mevius.5ch.net/test/read.cgi/tech/1349538519/500
501: デフォルトの名無しさん [sage] 2022/01/11(火) 00:17:50.61 ID:Xf79Fgui bool値ほしい http://mevius.5ch.net/test/read.cgi/tech/1349538519/501
502: デフォルトの名無しさん [] 2022/03/27(日) 23:43:39.11 ID:TRkpHzjA >>497 じゃあどうすればいいの? http://mevius.5ch.net/test/read.cgi/tech/1349538519/502
503: デフォルトの名無しさん [sage] 2022/04/28(木) 20:33:01.74 ID:KupWcmJ5 元の hoge() or die("Error\n"); が問題なく動いてるなら hoge() or print("Error\n"), die $!; http://mevius.5ch.net/test/read.cgi/tech/1349538519/503
504: デフォルトの名無しさん [sage] 2022/06/11(土) 13:31:52.57 ID:XcUjU1KU hoge()が0を返しうるかどうかもわからんと思うのだが >元の >hoge() or die("Error\n"); >が問題なく動いてるなら という前提の下で >>495 の配慮に意味があるの? >>496 で十分 hoge() or が動くという前提を無視するとして もしもhoge()が0を含む数値か失敗を返すなら(空文字を含む文字列か失敗でもいい) 失敗にundefを返してdefinedで受けるのがフツー http://mevius.5ch.net/test/read.cgi/tech/1349538519/504
505: デフォルトの名無しさん [sage] 2023/12/15(金) 06:59:42.19 ID:aRdlBUAD $_ ← これ、なんて読む? perlが発祥ってわけでもないそうだが(bashとかにもあるんだってね)、ガチのドザなので 俺は内心ドルバーって呼んでる http://mevius.5ch.net/test/read.cgi/tech/1349538519/505
506: デフォルトの名無しさん [sage] 2023/12/19(火) 00:32:16.33 ID:LgO8Ui43 ドル・アンダーバーじゃないかな。 設定によってはチルダの代わりにトップバーってのがあったから、それと区別するのにアンダーって言ってた気がする。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/506
507: 505 [sage] 2023/12/21(木) 12:15:47.33 ID:nsa/DjJa おつあり そういやそんなの(トップバー)あったねえ なるほど http://mevius.5ch.net/test/read.cgi/tech/1349538519/507
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 16 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.010s