Perl初心者スレ(マジレス回答) (523レス)
Perl初心者スレ(マジレス回答) http://mevius.5ch.net/test/read.cgi/tech/1349538519/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
337: デフォルトの名無しさん [sage] 2014/11/14(金) 02:49:12.43 ID:FARMtlO3 >>334 perl -Mvars=%h -ane '$a = $F[1] if @F == 3 ; $h{$a} .= $_ }{ print $h{$_} for sort { $a <=> $b } keys %h’ original.txt >>336 モジュールの共用は避けるべき http://mevius.5ch.net/test/read.cgi/tech/1349538519/337
338: デフォルトの名無しさん [sage] 2014/11/14(金) 06:59:52.41 ID:Ul+u6aQZ >>334 use 5.016; use warnings; my $boundary = qr/^#+\s+\d+\s+#+\s*$/; open(my $in, "<", "original.txt") or die; my @data; my $chunk = ''; while(<$in>){ if (/$boundary/ and (length($chunk) > 0)){ push @data, $chunk; $chunk = ''; } $chunk .= $_; } if (length($chunk) > 0){ push @data, $chunk; } $in->close; open(my $out, ">", "output.txt") or die; $out->print(reverse @data); $out->close; http://mevius.5ch.net/test/read.cgi/tech/1349538519/338
339: デフォルトの名無しさん [sage] 2014/11/14(金) 20:30:37.37 ID:FARMtlO3 単純に逆にするだけか perl -00pe '$_ = join q{}, reverse ( split /(?=^#)/m)' http://mevius.5ch.net/test/read.cgi/tech/1349538519/339
340: デフォルトの名無しさん [] 2014/11/16(日) 13:54:55.61 ID:f46/IGen >338,337,339 有難うございました。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/340
341: デフォルトの名無しさん [sage] 2015/01/12(月) 10:56:30.31 ID:av7JsOQD my $initial_title_ = "\$" . "$initial_threads" . "_begin"; $initial_title_ = eval $initial_title_; 1行に短くなりませんか? http://mevius.5ch.net/test/read.cgi/tech/1349538519/341
342: デフォルトの名無しさん [sage] 2015/01/13(火) 00:30:37.15 ID:Dvj6a5BR my $initial_title_ = eval "\$${initial_threads}_begin"; こういうこと? http://mevius.5ch.net/test/read.cgi/tech/1349538519/342
343: デフォルトの名無しさん [sage] 2015/01/13(火) 02:35:14.88 ID:sfvPNi0Q >>342 ありがとう eval使うのが3つあったから 6行が3行になったよ http://mevius.5ch.net/test/read.cgi/tech/1349538519/343
344: デフォルトの名無しさん [sage] 2015/01/14(水) 23:01:56.10 ID:+qvvUh8r $seach_wordに日本語を入れたいのですが、それだとマッチしません。どうすればよいでしょうか? w3m -dump -cols 160 http://peace.2ch.net/test/read.cgi/tech/1349538519/| ~/Perl_instance/resSearch.pl #!/usr/bin/env perl use strict; use warnings; use utf8; my $seach_word = ">1" ; my $found_res = 0; my $res = ""; while (<>) { if (/^\d/x) { # out put, flash if ( $found_res == 1 ) { print $res; $found_res = 0; } $res = ""; } else { # searching if (/$seach_word\b/x) { $found_res = 1; } } # buffer lines $res .= $_; } http://mevius.5ch.net/test/read.cgi/tech/1349538519/344
345: デフォルトの名無しさん [sage] 2015/01/15(木) 09:31:41.42 ID:+X0UBnJQ >>344 use open ":utf8"; http://mevius.5ch.net/test/read.cgi/tech/1349538519/345
346: デフォルトの名無しさん [sage] 2015/01/15(木) 09:40:11.27 ID:+X0UBnJQ あ、 binmode STDIN , ":utf8": で http://mevius.5ch.net/test/read.cgi/tech/1349538519/346
347: デフォルトの名無しさん [sage] 2015/01/15(木) 13:13:41.60 ID:WfzbS03y binmode STDIN , ":utf8"; binmode STDOUT , ":utf8"; my $seach_word = "日本語" ; で同様のコマンド叩いて、つまり344が拾えるはずが 何故かヒットしません http://mevius.5ch.net/test/read.cgi/tech/1349538519/347
348: デフォルトの名無しさん [] 2015/01/15(木) 18:33:41.92 ID:DbiGPAED <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> http://mevius.5ch.net/test/read.cgi/tech/1349538519/348
349: デフォルトの名無しさん [sage] 2015/01/16(金) 16:08:36.80 ID:6B2q2EkL w3m -dump -cols 160 http://peace.2ch.net/test/read.cgi/tech/1349538519/|nkf -g UTF-8 UTF-8しか扱わないのにちょっとエンコード回りは複雑だ http://mevius.5ch.net/test/read.cgi/tech/1349538519/349
350: デフォルトの名無しさん [sage] 2015/01/19(月) 10:22:25.36 ID:AihfgHov webサイトの表形式データ(横方向は5列、縦方向は不定で100行ぐらい)を取得するのに、 正規表現の繰り返しマッチング m//g を使って、結果を配列に入れてるんだけど、 もっと簡単に取ってくるモジュールはないでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1349538519/350
351: デフォルトの名無しさん [sage] 2015/01/19(月) 21:45:13.42 ID:qpn2CGqA >>350 >webサイトの表形式データ の形式が分からんとなんとも。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/351
352: 349 [sage] 2015/01/19(月) 22:36:30.03 ID:bxHKMq/8 >>346 ヒント助かった。 use Encode qw/encode decode/; my $enc = 'UTF-8'; sub d($) { decode($enc, shift) } sub e($) { encode($enc, shift) } my $seach_word = "日本語"; my $found_res = 0; my $res = ""; while (<>) { if (/^\d/x) { if ( $found_res == 1 ) { print $res; $found_res = 0; } $res = ""; } else { my $seach_word_ = e$seach_word; if (/$seach_word_/x) { $found_res = 1; } } $res .= $_; } http://mevius.5ch.net/test/read.cgi/tech/1349538519/352
353: デフォルトの名無しさん [sage] 2015/01/20(火) 02:00:35.92 ID:FcML0ncg >>350 >>351 例えば、こんな表です http://ke.kabupro.jp/hist/20150107.htm 今はHTMLのソースを見て、証券コードを正規表現で抽出するために、 =~ m!<tr><th><a\shref[^>]+>(\d{4})<\/a>!ig などとして配列へ入れているのですが、泥臭いです。 もっとスマートに取得できるモジュールは無いかと思った次第です。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/353
354: デフォルトの名無しさん [sage] 2015/01/20(火) 02:06:50.85 ID:FcML0ncg (続き) 例えば統計計算用のRでは readHTMLTableというモジュール(パッケージ?)があり、表形式のデータを含んだurlを指定すれば、簡単に取得出来るのですが。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/354
355: デフォルトの名無しさん [sage] 2015/01/20(火) 07:56:47.13 ID:y2BAlbXr >>353 HTML::TableExtract http://search.cpan.org/~msisk/HTML-TableExtract-2.12/lib/HTML/TableExtract.pm Web::Scraper http://search.cpan.org/~miyagawa/Web-Scraper-0.38/lib/Web/Scraper.pm http://mevius.5ch.net/test/read.cgi/tech/1349538519/355
356: デフォルトの名無しさん [sage] 2015/01/20(火) 12:03:15.85 ID:NiHMzyM4 >>355 ありがとうございます http://mevius.5ch.net/test/read.cgi/tech/1349538519/356
357: デフォルトの名無しさん [sage] 2015/03/13(金) 20:55:35.08 ID:hJWhu2F/ なにこの良スレ http://mevius.5ch.net/test/read.cgi/tech/1349538519/357
358: デフォルトの名無しさん [sage] 2015/03/28(土) 10:06:58.72 ID:spJK+jxH my $tmp = { $a => sub { $_ = 処理A}, $b => sub { $_ = 処理B}, $c => sub { $_ = 処理C}, }; ループ中に↑のように書いている場合、一つの変数に対して複数の処理($a に 処理A' を追加)を 加えたい場合、どのように書くのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1349538519/358
359: デフォルトの名無しさん [sage] 2015/03/30(月) 16:12:56.05 ID:4W43OXe7 ; http://mevius.5ch.net/test/read.cgi/tech/1349538519/359
360: デフォルトの名無しさん [sage] 2015/04/12(日) 18:06:38.92 ID:eedq/AcT 凄い初歩的な質問だと思うのですが真剣に行き詰まってます 教えてください _HOGE_ こんな表記の変数ってなんて表現するんですか? またネットでこういう変数について調べたいときは、 どのように検索したらヒットしますでしょうか。 Perl __ で検索しても全然それらしい記事が発見できず http://mevius.5ch.net/test/read.cgi/tech/1349538519/360
361: デフォルトの名無しさん [sage] 2015/04/12(日) 18:43:51.80 ID:Xaz/Qvpp _HOGE_は変数じゃないからヒットしないのが正解 もしかして:ヒアドキュメント http://mevius.5ch.net/test/read.cgi/tech/1349538519/361
362: デフォルトの名無しさん [sage] 2015/04/12(日) 20:02:52.86 ID:eedq/AcT なるほど・・・独自のプログラム記述なんでしょうかね・・・ Perlの変数記述方法じゃないことがわかって少し安心しました もう一回解析してきます http://mevius.5ch.net/test/read.cgi/tech/1349538519/362
363: デフォルトの名無しさん [sage] 2015/04/12(日) 20:06:31.76 ID:eedq/AcT >>361さんの回答で先入観が排除され、 意味がわかりました。 $mes =~ s/_HOGE_/$name/g; 文字列に埋め込まれた_HOGE_を別の変数に代入されてる文字列と置換させていました。 ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/363
364: デフォルトの名無しさん [sage] 2015/04/13(月) 07:38:14.33 ID:bJ3+bESR __END__ とかそんなのの仲間じゃなくて? http://mevius.5ch.net/test/read.cgi/tech/1349538519/364
365: デフォルトの名無しさん [sage] 2015/05/14(木) 07:11:03.21 ID:y4MWBEfC なんでも受け付けるからって、 __HOGE__ をヒアドキュメントとして使ってる人は、単に 特殊リテラルを理解してない人。 質問に超絶遅レスするなら、 __HOGE__は、ほんとうに HOGE と書かれていたなら、 特殊リテラルのまねっこ。 DATA, END などなら、perldoc.jp で perldata から「特殊なリテラル」の項を 参照すること。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/365
366: デフォルトの名無しさん [sage] 2015/05/15(金) 01:58:16.40 ID:3U2TIRvt >>365 どういうこと? http://mevius.5ch.net/test/read.cgi/tech/1349538519/366
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 157 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.012s