- ベストアンサー
一部が重複しているデータのマージ
こんにちは。 どうやって書いたらいいのかわからなくて質問しました。 皆様のお知恵を拝借できませんでしょうか。 以下のようなデータがあります。 1行目:100円 りんご 2行目:100円 みかん 3行目:100円 バナナ これを以下のようにマージして一行で出力したいのです。 100円 りんご,みかん,ばなな どうかよろしくお願いします!
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
例えばこんな感じとか? use strict; my %data; while (<STDIN>) { my ($key, $value); $_ =~ s/[\r\n]//; $key = $value = $_; $key =~ s/([^ ]+)\s(.*)/\1/; $value =~ s/([^ ]+)\s(.*)/\2/; push(@{$data{$key}}, $value); } while(my ($key, $value) = each %data) { print "$key "; foreach (@{$value}) { print "$_,"; } print "\n"; }
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.1
入力なんか無視して 「100円 りんご,みかん,ばなな」 とだけ出せば十分では?
お礼
できました! ありがとうございます。勉強になりました。