in reply to rearranging text

my %all; while(<>) { my ($k,$v)=split/,/; $all{$k}.=",$v"; } print map { "$_, $all{$_} "} keys %all;

Replies are listed 'Best First'.
Re: Re: rearranging text
by l2kashe (Deacon) on Dec 02, 2003 at 09:59 UTC

    This leads to possibly ugly output as there will be an extra comma in the output

    Also will a value appear more than once, and should the values be sorted as well? Im thinking a HoH might be overkill, but another (better?) way to do it.

    my %all; while (<>) { s/\s+//g; my($k, $v) = split /,/; next unless defined $k and defined $v; $all{$k}{$v}++; } for ( sort keys %all ) { print "$_, ", join(', ', sort keys %{ $all{$_} }), "\n"; }

    use perl;