#Untested
use strict;
my %data;
#assume file is opened as
while () {
chomp;
my ($server,@apps_info)=split /,/;
push @{$data{$server}}, \@apps_info;
}
foreach my $server ( keys %data ) {
print "$server\n\t";
for ( @{$data{$server}} ) {
print join " ", split /,/;
print "\n\t";
}
}