1 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:54:12 ] "The duct tape of the Internet" こと、Perlについての質問箱です。 "There's more than one way to do it" ということで、Perlの奥深さについて皆で語り合い、追求してまいりましょう。 CGIについての質問は板違いです。WEBプログラミング板でどうぞ。 CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。 (WEBプログラミング板 pc8.2ch.net/php/ ) CGIの質問は答えがPerlと全然関係ない話に帰着する場合が多かったりするのでWEBプログラミング板に行って聞いたほうが得ですよ。 このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。 スレ違いの質問にはスルーか、速やかな誘導をお願いします。 www.perl.org/get.html ● 2006/12/21現在の最新版: 5.8.8 ● 2006/12/21現在の開発版: 5.9.3 前スレ Perlについての質問箱 29箱目 pc11.2ch.net/test/read.cgi/tech/1166708139/ リンク集は>>2-3 過去スレは>>4
779 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 18:47:30 ] ■結果 1回目 Rate map1 map2 for1 grep1 grep2 for2 map1 25.8/s -- -14% -32% -33% -66% -69% map2 30.1/s 17% -- -21% -22% -60% -64% for1 38.0/s 48% 26% -- -2% -50% -54% grep1 38.6/s 50% 28% 2% -- -49% -53% grep2 75.8/s 194% 152% 99% 96% -- -8% for2 82.6/s 221% 174% 117% 114% 9% -- ■結果 2回目 Rate map1 map2 grep1 for1 grep2 for2 map1 24.6/s -- -16% -33% -33% -71% -71% map2 29.2/s 19% -- -20% -21% -65% -66% grep1 36.6/s 49% 26% -- -1% -56% -57% for1 36.9/s 50% 27% 1% -- -56% -57% grep2 83.3/s 239% 186% 127% 126% -- -3% for2 85.5/s 248% 193% 133% 132% 3% -- ■結果 3回目 Rate map1 map2 grep1 for1 grep2 for2 map1 23.3/s -- -17% -33% -37% -72% -73% map2 27.9/s 20% -- -20% -25% -66% -67% grep1 35.0/s 50% 25% -- -6% -57% -59% for1 37.0/s 59% 33% 6% -- -55% -56% grep2 82.0/s 252% 193% 134% 121% -- -3% for2 84.7/s 264% 203% 142% 129% 3% --
780 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 19:28:11 ] map1が遅いのはでかいリスト返してるから。 一つだけ全く別のことやってりゃそりゃ遅い罠。 map2が遅いのはfor2grep2と違ってブロック評価してるからだと思う。 とりあえず 'map1' => sub { my @hoge; map { push @hoge, $TABLE{$_} } @DATA; 1; }, 'map2' => sub { map $_ = $TABLE{$_} , @DATA; 1; }, に書き換えたらグループごとの速度は大差なくなるはず。 関係ないけど最近のPerlのmapは 同じことやるforeachより速くなったりするのでびっくり。 古いバージョンなら戻り値使わない時は絶対forって言えたんだけどな。
781 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 19:30:42 ] 一応貼っておく Rate grep1 for1 map1 grep2 map2 for2 grep1 19.8/s -- -1% -3% -64% -64% -65% for1 20.0/s 1% -- -2% -64% -64% -65% map1 20.4/s 3% 2% -- -63% -63% -64% grep2 55.2/s 179% 176% 171% -- -1% -3% map2 55.5/s 180% 177% 172% 1% -- -3% for2 57.0/s 188% 185% 180% 3% 3% --
782 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 20:02:21 ] その後の調べで map2はsub {map {$_=$TABLE{$_};1;} @DATA ;1;} とすると順位があがりました。余計なメモリコピーが発生してたみたいです。 さらに>>780 さんの指摘を受けて 'map1' => sub {my @hoge;map push(@hoge,$TABLE{$_}),@DATA; 1;}, 'map2' => sub {map $_=$TABLE{$_},@DATA ;1;}, に変更したところ若干forが優勢っぽいですがほとんど同じ結果になるようになりました。 組み込みの関数なのでperlのバージョンによって変わってくる部分もありそうですね。 テスト環境はperl v5.8.5でした。(書き忘れ) 大変わかりやすい説明ありがとうございました。
783 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 20:05:52 ] 良くわからんがデータベース使え。
784 名前:738 mailto:sage [2007/05/23(水) 21:51:32 ] >>751 Catalystみてみます、サンクス
785 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 01:12:04 ] あーの、恐縮ですが質問なんですけど、 Perlでは初めてオブジェクト指向のコードを書いているのですが、 下記のようなコードでアロー演算子と行入力演算子が併用できなくて困っています。 一度他のローカル変数にファイルハンドルを代入してやればうまくいくのですが、 もっとスマートに、オブジェクトが持つファイルハンドルから行入力する方法はあるのでしょうか。 use strict; sub parse { my $this = shift; my @data = <$this->{fh_lex}>; # 文法エラー # 下のコードなら成功 # my $fh = $this->{fh_lex}; # my @data = <$fh>; for (@data) { ;# 省略 } }
786 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 01:59:16 ] <>をファイル読み込みとして認識させるには、 括弧の中を $fh のような形をしたスカラ変数にしないとダメだから、 一時的に変数を作るしかないね。 my @data = sub{$_=shift;<$_>}->($this->{fh_lex}); とかw
787 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 02:08:24 ] ヒント:<()>
788 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 02:09:52 ] <()> はファイルグロブ。
789 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 02:22:28 ] <${this->{fh_lex}}> とかダメ? 試してないけど。
790 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 02:31:13 ] >>789 ダメだよ。やってみたw <>を放棄した技だけどw my @data = readline $$this{fh_lex} ;
791 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 02:37:14 ] 普通に<>の内部関数のreadline使って、 my @data = readline $this->{fh_lex}; でよかろ。
792 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 04:08:38 ] >>785 別に無理に1行に書かなくても地味に$fhに代入した方がよっぽど明示的で よいコードに見える。 どうしてもっていうんなら、$thisがオブジェクトならオーバーロードを使ってみては?
793 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 18:39:22 ] 遅レスだが >>780 search.cpan.org/~nwclark/perl-5.8.8/pod/perl581delta.pod#Miscellaneous_Enhancements > map in void context is no longer expensive. map is now context aware, > and will not construct a list if called in void context. perlstyle でやるなって言われてるのに、悪い癖を直そうとしない子が あまりに多いから実装側でフォローした、と俺は解釈してる。
794 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 18:48:26 ] 見た目すっきりするからついやっちゃうんだよね・・・
795 名前:デフォルトの名無しさん [2007/05/25(金) 19:11:11 ] 俺すごいだろって思ってついやっちゃうんだよな・・・
796 名前:785 mailto:sage [2007/05/25(金) 22:27:59 ] >>786-792 みなさんどうもありがとうございます。 やはりPerlとはいえ表記上の制約はあるんですね。 にも関わらず他の方法がいくつもあると言うのはさすがですが。 どれを使おうか迷ったのですが、とりあえず今回は、readlineを使うのが一番綺麗に見えたので、それを使わせてもらおうと思います。 本当に勉強になりました。
797 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 02:42:48 ] 長文にて失礼します。 以下の[data.csv]ようなカンマ区切りのデータがあるとします。 横軸がX座標、縦がY座、各格子の数値がZ座標(標高)を示しています。 このデータを、[out.csv]のように変換したいのですが、2次元配列でつまずいてしまい、途方に暮れてしまいました。 どなたかお知恵を授けて下さい。よろしくお願いします。 あと、入力データのうち行頭が"#"で始まる行は無視する、というのはどうすればできるのでしょうか。合わせてご教授いただけると助かります。よろしくお願いします。 [data.csv] , 1, 2, 3, 4 5, 12.63 , 33.82 , 31.71 , 29.73 4, 34.75 , 32.14 , 29.31 , 26.70 3, 33.55 , 30.27 , 27.17 , 23.43 2, 31.02 , 29.42 , 26.65 , 23.61 1, 28.00 , 27.04 , 25.39 , 22.60 [out.csv] X,Y,Z 1,1,28.00 1,2,27.04 1,3,25.39 1,4,22.60 2,1,31.02 2,1,27.04 (中略) 5,3,31.71 5,4,29.73
798 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 03:41:35 ] >>797 宿題乙^^
799 名前:デフォルトの名無しさん [2007/05/26(土) 04:09:08 ] >>797 さてコレをどれくらい短くできるだろうか use strict; open FILE, "data.csv"; my @data; my @index; my @ys; for my $line (<FILE>) { chomp $line; unless (@index) { @index = split(/\s*,\s*/, $line); shift @index; next; } my($y, @d) = split(/\s*,\s*/, $line); push(@ys, $y); for (my $i=0; $i < @d; $i++) { $data[ $index[$i] ][ $y ] = $d[$i]; } } close FILE; open FILE, ">out.csv"; for my $x (@index) { for my $y (@ys) { print FILE "$x, $y, $data[$x][$y]\n"; } }
800 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 08:04:48 ] >>799 use strict; open FILE, "data.csv"; my(@data, @index, @ys); while(<FILE>) { chomp; my($y, @d) = split /\s*,\s*/; @index = @d, next unless @index; push @ys, $y; $data[ $index[$_] ][$y] = $d[$_] for 0..@d-1; } open FILE, ">", "out.csv"; for my $x (sort {$a <=> $b} @index) { for my $y (sort {$a <=> $b} @ys) { print FILE "$x, $y, $data[$x][$y]\n"; } } close FILE;
801 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 08:26:14 ] 一応質問者の為に一行サービスしといたけど。本嫁本。 こんなの例題に出てくるだろが。 open IN, "data.csv" ; open OUT, ">", "out.csv" ; print OUT "X,Y,Z\n" ; (undef,my @index ) = split /,/, do{ $_ = <IN> ; s/\s+//g ; $_ } ; for ( reverse (<IN>) ){ s/\s+//g ; next if /^#/ ; my ( $index, @dat ) = split /,/ ; for my $i ( 0 .. $#dat ){ print OUT join "," ,$index,$index[$i],$dat[$i] . "\n" ; } } close IN ; close OUT ;
802 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 10:48:45 ] >>799-801 おまいらやさしいな
803 名前:797 mailto:sage [2007/05/26(土) 13:30:30 ] >>799-801 皆さん、どうもありがとうございます。 教えていただいたコードを読んで勉強します。 ところで、私のような初心者向けの本にはどんなものがありますか? 現在手元には、「Perlの絵本」といわゆる「らくだ本」の2冊がありますが、前者はまったくの初心者向けで今回の質問の答えは見いだせません。 一方、後者は私には取っつきにくくて、ヒントが書いてあるのかも知れませんが、見つけられませんでした。 なお、Visual BASICとTurbo PASCALはある程度勉強しました。 近くに大きな本屋がないので、現物を手にとって見比べることができません。アドバイスをいただければ幸いです。よろしくお願いします。
804 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 14:26:34 ] リャマ本かクックブックあたり嫁
805 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 15:31:12 ] /(\b\w+)\1/ という正規表現が hogehogeにマッチして /(\b\w+\b)\1/ という正規表現が hoge hogeにマッチしないのは何故なんでしょうか?
806 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 15:36:26 ] * キャプチャされるのは、正規表現ではなくマッチした文字列 * \b は文字を消費しない。
807 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 16:15:33 ] >>803 時間をかけて、「らくだ本」じっくりと2回読めばいい。 1回目は、解らない部分には「?」印を付けて、深追いしない。 2回目は、「?」印を付けた部分を重点的に読む。 その過程がなければ、らくだ本を辞書のように使うことはできない。
808 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 17:09:49 ] リャマ本の第四版まだかなー 本家だと2005年に出てるんだよね ラクダさんも早く新しいの出して欲しいな
809 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 18:15:30 ] そういえば新しいの出るね。 "Mastering Perl" By brian d foy ttp://www.oreilly.com/catalog/9780596527242/
810 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 19:24:22 ] 大変にスマソ ひょっとして use encoding でコード指定すると \w が日本語(文字)にもマッチする仕様?
811 名前:803 mailto:sage [2007/05/26(土) 20:02:47 ] >>807 アドバイス、ありがとうございます。 昔やった受験勉強と同じことですね。腰を据えて勉強します。
812 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 20:17:05 ] >>810 perl + 日本語には興味無いんで調べたが、perlunicode にまんま書いてあるぞ。 o Character classes in regular expressions match characters instead of bytes and match against the character properties specified in the Unicode properties database. "\w" can be used to match a Japanese ideograph, for instance.
813 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 20:27:38 ] >>810 基本的には空白や記号類ではないような文字にマッチする。 通常は全ての言語の文字にマッチするけど、 use locale;すればロカールである程度は制御できるね。
814 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 20:39:14 ] >>812-813 おお、すまそ。そしてありがd 今更だけど jcode.pl からの乗り換えに躓いてました 精進してきます
815 名前:デフォルトの名無しさん [2007/05/26(土) 21:20:04 ] 懐かしいな jcode.pl ってまだあったんだ cgiのもなんかライブラリあったな
816 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 21:22:41 ] cgi-lib.plナツカシス
817 名前:デフォルトの名無しさん [2007/05/26(土) 23:38:11 ] >>816 ああ、それそれ! 名前忘れる位懐かしいw
818 名前:気まぐれアナスイ mailto:お腹いっぱい@気まぐれアナスイ [2007/05/27(日) 01:28:48 ] …。perl…。 perl.といえば、perldl-command.が… !(-_Φ+){yes, So sexy.}
819 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 04:04:33 ] ログファイルを合成する処理で、困っています。 @log=("1.txt","2.txt","3.txt","4.txt"); foreach $filename(@log) { open(LOG,$filename) || &er_("Can't open $filename"); @lines = <LOG>; close(LOG); } @linesの中に、全てのテキスト内容を合成させた物が 入ってほしいのですが、最後に代入した4.txtの内容しか 入ってくれません。なぜでしょうか。 また、foreachで廻すのを条件として、 改造案を指南いただけると嬉しいです。
820 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 04:22:02 ] @lines = <LOG>; の部分を my @tmplines = <LOG>; push(@lines, @tmplines); の2行に置き換えてください。 千奈美に最後のやつしか残らないのは、 @lines = <LOG>; が上書きしてるからです。 だから最後の結果しか残らない。
821 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 06:28:04 ] >>820 ありがとうございます!できました。
822 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 18:20:34 ] cpanで >Are you ready for manual configuration? [yes] 毎回、noを答えるんですけど、これ抑制できないんですか?
823 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:37:04 ] >>822 > Are you ready for manual configuration? 俺は個人macもsolarisもyes選択してカスタマイズしたから、 最初にnoを選んだ時の挙動は分らんが、抑制もくそもこれって 最初の一回きりだろ?俺の環境だと出てこないんだけど。 何か変な事やってないか?
824 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 15:48:16 ] >>546 の sub flatten(@) { map { ref $_ eq "ARRAY" ? flatten(@$_) : $_ } @_ }」 の flatten(@)は配列以外を引数に取れないということでしょうか? あと @deff = grep{ !{map{$_,1}@FileA }->{$_}}@FileB; のmap{$_,1}@FileAなのですが{$_,1}はどういう式なのでしょうか
825 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 16:55:50 ] >>824 1) プロトタイプの@は残りの引数をすべてリストとして取り込むという意味。 (@) にはあまり意味がないんだけど、perlsubでも読んどき。 2) map の引数のBLOCKはリストコンテキストで評価されるから、 $_, 1 は $_ と 1 からなるリスト。
826 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 10:44:52 ] はじめまして、 Perl 5.005_03 の世界から来ました。こんにちは。 最近の Perl でコマンドラインオプションの処理をする場合の標準を教えてください。
827 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 11:02:55 ] >>826 Getopt::StdかGetopt::Longを使うのがいいよ。どっちも標準モジュール。 Getopt::LongはGetopt::Stdの機能も含むからGetopt::Longのほうがおすすめ。
828 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 11:04:23 ] @_ で済まなかったっけか
829 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 12:00:06 ] >>828 自分でちまちまとオプション解析するならそれでいいけどな。
830 名前:829 mailto:sage [2007/06/01(金) 12:01:08 ] いや、そんなことない。だまされるところだった。
831 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 13:21:53 ] >>827 早速 Getopt::Long 使ってみました。使いやすそうですね。 御回答ありがとうございます。 >>828 すみません、ちょっと私には意味わからなかったのでスルーさせてくださいー。
832 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 16:08:31 ] >>825 ありがとうございます
833 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 16:39:29 ] my $text = join '', <>; $text =~ s/\s*//g; を1行でする方法ないですか. 1行でなくとも見た目がよければいいです。 あとファイルの最初にmy宣言すると、その後のサブルーチン内でも 使えてしまうのですが、これは何か対策はありますでしょうか
834 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 16:51:36 ] (my $text = join '', <>) =~ s/\s*//g; とか出来んわけではないが分けて書いたほうが見た目はよいだろ。 > あとファイルの最初にmy宣言すると、その後のサブルーチン内でも > 使えてしまうのですが、これは何か対策はありますでしょうか ファイルスコープのmyはグローバル変数だから、そういうもの。 嫌なら中括弧で囲っとけばいい。
835 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 16:58:41 ] なるほど、ありがとうございました
836 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 17:06:21 ] my $text = join '', map {s/\s*//g; $_} (<>); このぐらいなら、まあいい?
837 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 17:10:06 ] $/使った方が速いと思うけど、2文にならざるを得ないな。
838 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 17:17:50 ] my $text = do{ local $/ ; $_ = <> ; s/\s*//g ; $_ } ; 実質4行w
839 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 19:21:13 ] s/\s*//g, $text.=$_ for <>;
840 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 19:23:33 ] ああ、my付けなきゃいけないのか my $text = join "", map { s/\s*//;$_} <>;
841 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 19:43:02 ] (my $text = do {local $/; <>}) =~ s/\s+//g;
842 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 20:35:25 ] >>837 pu
843 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 23:04:43 ] ぶっちゃけ遊びとしても「1行で書く」っていうのは意味ないと思うw
844 名前:デフォルトの名無しさん [2007/06/01(金) 23:14:33 ] >>826-831 @ARGV を使うだけなのにご苦労様
845 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 23:45:56 ] >>844 >826 名前:デフォルトの名無しさん:2007/06/01(金) 10:44:52 >はじめまして、 Perl 5.005_03 の世界から来ました。こんにちは。 > >最近の Perl でコマンドラインオプションの処理をする場合の標準を教えてください。 >コマンドラインオプションの処理をする >コマンドラインオプションの処理をする >コマンドラインオプションの処理をする
846 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 00:07:52 ] おまんこライン
847 名前:デフォルトの名無しさん [2007/06/02(土) 01:45:09 ] >>845 え!?もっと詳しく!!
848 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 02:56:27 ] 単純にコマンドライン引数を見たいなら@ARGVを順番に見ていけばいいけど、 >>826 は -Rrt -l --color=auto とかのコマンドラインオプションをパースしたいってことだろ。 学習目的ならいざ知らずそんなもんいちいち自前で処理する奴はマゾ。
849 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 12:28:03 ] そうそう、Perl 5.005_03が先端だった頃の、 use Getopt::Stdするだけでプラス0.4秒 という時代とは違うんだから。
850 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 18:25:59 ] 文字列の全角英数→半角変換って $j =~ tr/0-9a-zA-Z/0-9a-zA-Z/; じゃダメなん? 5.8.4で文字列はutf-8なんだけど。
851 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 18:42:50 ] >>850 use utf8 した上でなら、それでいいんじゃね? 確かめてないけど。
852 名前:850 mailto:sage [2007/06/03(日) 19:02:08 ] >>851 英数以外が化けるんだよなぁ…
853 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 19:13:39 ] 化けてるってのはどうやって確認してるの?
854 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 19:15:52 ] 日本語のマルチバイトはsjis、euc-jp、utf-8(他にもいろいろ)あるわけで、 スクリプトのソースや$jに入っているcharsetが何かがわかんないと答えようがないわな。
855 名前:850 mailto:sage [2007/06/03(日) 19:28:12 ] 853>> 入力と出力をprintして見比べてるけどマズかった?
856 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 19:31:18 ] それは大いにマズい。 $jの文字コード/UTFフラグの有無で挙動が変わってくる。
857 名前:850 mailto:sage [2007/06/03(日) 19:37:59 ] >>854 入力、ソースはutf-8(のつもり)。 もしかしたら違うかもしれないから、入力のエンコード方式の調べ方があるなら教えてくれ。 >>856 マズいのか。
858 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 19:49:23 ] use Devel::Peek; Dump $j;
859 名前:850 mailto:sage [2007/06/03(日) 20:02:10 ] >>858 dumpの出力の読み方は? ググってみたけど、どう読んでいいのかサッパリ。
860 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 20:06:37 ] なんか要領がつかめないんだけど、 入力ソースはなんなわけ?
861 名前:850 mailto:sage [2007/06/03(日) 20:13:48 ] >>860 適当なサイトから拾ってきたフィード。
862 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 20:18:46 ] binmodeでストリームに適当なレイヤをかぶせるか、 Encode::decodeに通して適切にutf-8フラグが立つようにせにゃならん。
863 名前:850 mailto:sage [2007/06/03(日) 22:06:39 ] >>862 $j = decode('utf-8', $j); の1行通したらうまくいった。ありがと。
864 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 13:51:27 ] ねえ。これから態度の悪い質問者には答えない様にしろよ。 付け上がって調子乗ってくるのがオチなんだからさ。
865 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 14:05:21 ] 俺が正規表現でボコボコにしてやんよ ∧_∧ ( ・ω・)=つ≡つ (っ ≡つ=つ / ) s/.*/ババババ/g ( / ̄∪
866 名前:デフォルトの名無しさん [2007/06/04(月) 14:35:29 ] >>864 付け上がっているのはどっちですか? ここは質問箱でしょ? 質問してください、というスレなんでしょ? 質問者あってのスレなんですよ。 そんな逆切れ見たいなことを言っていないで、 質問してもらったら「質問してくださってありがとう」くらい言ったらどうですか!
867 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 15:48:30 ] これは酷い釣り糸
868 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 16:27:29 ] >>866 とっとと質問せんかボケ
869 名前:デフォルトの名無しさん [2007/06/04(月) 17:02:53 ] >>868 質問があったら質問しますよ。 自分の至らなさを指摘されたからって、急に喧嘩腰にならないでください。 頭の悪い人はいちいち無駄な書き込みをしなくていいです。
870 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 17:07:09 ] >>866 何が質問者あってだよ。回答者があってだろ。 回答者が居ないと何も出来ない癖に。 後 >>1 にも書いてあるけどここは "Perlの奥深さについて皆で語り合い、追求する"スレ。 低レベルな質問と会話はwebprog板でお願いします。
871 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 17:14:03 ] >>869 無いんなら今すぐ作れや 俺は無職で一日中暇なんじゃアホ
872 名前:デフォルトの名無しさん [2007/06/04(月) 17:15:39 ] 「>>1 にも書いてあるけど」などという書き出しで あたかも「みんなの意見」であるように強調しておきながら、 結局はラスト1行で単なる頭の悪い煽り屋さんであることをばらしてしまっていますね。 何だかんだいいつつ、自分の「低レベルな会話」は全面的に許してしまっている時点で、 説得力はゼロですね。修行を積んで出直しましょう。
873 名前:デフォルトの名無しさん [2007/06/04(月) 17:19:05 ] >>871 暇なら自分で質問を作って自分で回答していればいいじゃないですか。 内容によっては決して無意味ではありませんよ。 高度な質問と高度な回答をセットで提供するぶんには、結構喜ばれると思います。 とはいえ、無職の能無しがそういう問答を自演するのは難しいでしょうが…。
874 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 17:21:42 ] 皆の意見として言ったつもりは無いな。建前のような物。 ついでに俺は許してないよ? WebProgに案内してるだけ。 お前も個人叩きをするタダの頭の悪い煽り屋にしか 見えないんだが、本文に対する反論は結局ナシなのかな?
875 名前:デフォルトの名無しさん [2007/06/04(月) 17:28:38 ] >>874 なるほど、自分で自分を許していないのですね。 ではあなたが黙れば解決です。あなたにできる最大の「低レベルな会話の排除」ですね! あと、「本文」というのは面白い言い方だと思います。 相手に突っ込まれて、いかに馬鹿なことを言っていたかが自覚できた途端に そこを蜥蜴の尻尾みたいに切り捨てて、「ノーダメージだよーん」ということにするのですね。
876 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 17:34:27 ] どうでもいい議論はよそでやれよ。
877 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 17:40:23 ] 定期的に沸いてる奴だろw ほっとけ
878 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 17:53:57 ] >>875 んーそうじゃないな。あくまでwebprog板でやれと希望してるだけだ。 本文って言い方そんなに面白いかな? お前に言われた事は自覚した、 とする。その次の段階の話だ。その次の話が出来なければただの 煽り合いで終わってしまうだろう? 後俺は120%黙る気は無いので宜しく。
879 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 17:55:19 ] >>864-878 お前らまとめて詞ね