- 1 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 22:35:39 ]
- "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についての質問箱 28箱目 pc8.2ch.net/test/read.cgi/tech/1162273941/ リンク集は>>2-3 過去スレは>>4
- 710 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 20:31:36 ]
- >>709
「perl 重複」でぐぐればいろいろテクニックが見つかる
- 711 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 20:36:03 ]
- >>709
5万行くらいなら全部ハッシュテーブルに詰め込んでも大丈夫そうだが 順序崩していいならソートしてから重複を除くのがいいだろう
- 712 名前: ◆TWARamEjuA mailto:sage [2007/02/19(月) 20:38:10 BE:2613683-2BP(6811)]
- 1. 1行目の内容をハシュのキーに詰め込む。
while (<$fh>) { $hash{$_} = 1; 2. 読み込みが終わったら、keyを書き出す。 print for keys %hash; 1-1. 読み込んだ順に書き出したい時。 my $line; while (<$fh>) { $hash{$_} = [$_, ++$line]; 1-2. 先に読み込んだ方を有効にしたい時。 $hash{$_} = [$_, ++$line] unless $hash{$_} ; 2-1. 読み込みが終わったら、sortしながらkeyを書き出す。 print for sort $hash{$a}->[1] <=> $hash{$b}->[1], keys %hash; 脳内妄想なので、補完よろしこ(照)
|

|