[過去ログ] Perlについての質問箱 64箱目 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
614
(1): 2020/08/02(日)12:45 ID:Vanmrtqf(2/3) AAS
仕様からコードを自動生成すればバグらない
仕様はちゃんとしか書けないものとする
615: 2020/08/02(日)15:01 ID:4gDW5awL(1/4) AAS
>>608
>>505をよろしくお願いします
美しいスクリプトを期待
616
(1): 2020/08/02(日)16:23 ID:qo03Ruan(1) AAS
また釣りのクズか
617
(1): 2020/08/02(日)17:01 ID:4gDW5awL(2/4) AAS
病気の人か
5ちゃんねるで悪態つくだけの惨めでみっともない人生
618: 2020/08/02(日)17:05 ID:4gDW5awL(3/4) AAS
>>616
>>505をよろしくお願いします
期待していい?
619: 2020/08/02(日)18:07 ID:JnzrulEq(1) AAS
>>617
死ね
620: 2020/08/02(日)18:54 ID:4gDW5awL(4/4) AAS
効いたな
621
(1): 2020/08/02(日)19:26 ID:TAOBMMvc(1) AAS
>>614
数万人の天才が挑戦しているがいまだに達成していない
622: 2020/08/02(日)19:41 ID:hIQzyyzC(1) AAS
>>621
むしろ天才よりも秀才のほうやろ。
本当の天才はそういうことに関わらん気がする。
直感的に不可能か、現実的に意味がないかを悟っていそうというか。
623
(1): 2020/08/02(日)20:29 ID:Vanmrtqf(3/3) AAS
バグの無いことの証明が不可能なのは、
ゲーデルの不完全性定理とかあのへんまで突っ込んでいくからであって、
99.9%okなら良しとする現実世界なら普通に可能
624: 2020/08/03(月)23:11 ID:/fZxIKnK(1) AAS
>>623
そしてその0.1%が理由になって戦争になるわけですね
625: 2020/08/09(日)01:00 ID:JDEJdFnx(1) AAS
過疎ってると落ち着く
626: 2020/08/13(木)15:32 ID:g8OxF1lY(1/2) AAS
UTF8からShift-JISに変換し、その中で変換できなかった文字列はhtml数値文字参照に変換したいです

(UTF8)楽しいね🙂→(Shift-JIS)楽しいね🙂 ;
このような風にです

こちらのサイトを参考にして↓のように書いてみたのですが
外部リンク[html]:blog.netandfield.com

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
(1): 2020/08/13(木)16:19 ID:HLH3bdVq(1) AAS
その出力先(ターミナル?コンソール?)は、そもそもシフトJISテキストを表示できるのか?
できない場合は、プログラムは関係なく、ターミナルが文字化けする。

ためしにtext.htmlのようなファイルに出力してから、その内容を確認したら?
628
(2): 2020/08/13(木)16:44 ID:DQVPr3Tq(1) AAS
前にやろうとして諦めた
pythonだと簡単

try:
  str_sjis = str.encode("CP932")
except UnicodeEncodeError:
  print str.encode("utf-8")
629: 2020/08/13(木)16:48 ID:/BJ4BGZD(1) AAS
>>628
そのレベルならPerlでも簡単
絵文字だけ抜き出してHTML特殊文字化 でしょ
630: 2020/08/13(木)17:00 ID:g8OxF1lY(2/2) AAS
>>627
ターミナルです
ファイルに出力してそれをShift-JISとして開いたら文字化けもなく見ることができました
内部的には問題なかったのですね
ありがとうございました
631: 2020/08/13(木)22:25 ID:L5UfXSE8(1) AAS
>>628
笑わすんじゃねーw
632: 2020/08/15(土)08:35 ID:ACgG3ouC(1/2) AAS
プロトタイプ属性の指定がどうやってもできん

use feature 'signatures';
sub foo :prototype($$) ($left, $right) {
return $left + $right;
}

これで構文エラーになる理由が全く分からん
633: 2020/08/15(土)10:52 ID:N6F3nDZU(1) AAS
釣れますか?
634: 2020/08/15(土)12:09 ID:ybTBju6n(1) AAS
同時には使えんやろ
635: 2020/08/15(土)14:02 ID:ACgG3ouC(2/2) AAS
え????

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
(2): 2020/08/15(土)15:48 ID:k2IZqmRY(1) AAS
以下のような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つの変数に代入したいのですが、方法はあるでしょうか?
637: 2020/08/15(土)16:19 ID:V1MJgzDn(1) AAS
そら一発では無理だろう
一旦配列に入れてから真ん中で分ける
638: 2020/08/15(土)16:34 ID:o+i8zw5r(1) AAS
釣りに引っ掛かるな
639: 2020/08/15(土)17:04 ID:gFfdk9Ij(1) AAS
>>636
はい。あります。
640
(2): 2020/08/15(土)19:50 ID:dQrORRCv(1/2) AAS
ちょろい問題。単なる初心者で釣りなんかじゃないでしょう。

@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 ID:dQrORRCv(2/2) AAS
2行目間違えてた。
while ($str =~ s{^[\s\S]*?<p>(.+?)</p>(.*)<p>(.+?)</p>[\s\S]*?$}{$2}){
642: 2020/08/15(土)20:01 ID:UM/CpThf(1/3) AAS
# 元ネタ
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
(1): 2020/08/15(土)20:03 ID:UM/CpThf(2/3) AAS
なんだこの糞改行(´・ω・`)

# 全部の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]);
1-
あと 359 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.026s