ハマっている「お菓子」を教えて!

こんにちは。
どうやって書いたらいいのかわからなくて質問しました。
皆様のお知恵を拝借できませんでしょうか。

以下のようなデータがあります。

1行目:100円 りんご
2行目:100円 みかん
3行目:100円 バナナ

これを以下のようにマージして一行で出力したいのです。

100円 りんご,みかん,ばなな

どうかよろしくお願いします!

A 回答 (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";
}
    • good
    • 0
この回答へのお礼

できました!
ありがとうございます。勉強になりました。

お礼日時:2011/10/01 20:06

入力なんか無視して


「100円 りんご,みかん,ばなな」
とだけ出せば十分では?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!