open FIN, "datafile.dat" || die "Cannot open datafile: $!\n"; my $line=; $line=; # Toss the first two lines my @data; my $index=0; while ($line=) { chop; my @field=split /,/, $line; # Assuming that data is not # quoted or escaped - that's more work $data[$index]{'Count'}=$field[0]; $data[$index]{'Type'}=$field[1]; $data[$index]{'Message'}=$field[2]; $index++; } foreach my $data (sort {$a->{'Count'} <=> $b->{'Count'}} @data) { print "$data->{'Count'} is of type $data->{'Type'} - $data->{'Message'}\n"; }