Unless I'm overlooking something, you're overcomplicating it
use strict;
use warnings;
my %clean_data;
chomp (my @data_array = <DATA>);
for my $data ( @data_array)
{
my ($server, @info) = split (/,/,$data);
$data = \@info;
push @{$clean_data{$server}}, $data;
}
#use Data::Dumper;die Dumper\%clean_data;
print
$_,
$/,
map { "\t@$_$/"} @{$clean_data{$_}}
for
sort
keys %clean_data;
__DATA__
server_A, Perl, UK
server_A, Word, UK
server_A, Outlook, UK
server_A, Excel, UK
server_B, Reuters, NL
server_B, TradeXL, NL
server_B, Thompsons, NL
server_B, Bloomberg, NL
server_B, Tibco, NL
server_c, BasketLink, USA
server_c, Evolution, USA
server_c, Lotus, USA
server_c, TIB, USA
server_A, Python, UK
MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!" |
I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README). |
** The third rule of perl club is a statement of fact: pod is sexy. |