use strict; use warnings; my %sequence; while (my $seq = ) { if ($seq =~ /^(\w+)\s*=>\s*(\d+)/) { $sequence{$1} = $2 unless defined $sequence{$1} && $sequence{$1} > $2; } } for my $key (sort keys %sequence) { print "$key $sequence{$key}\n"; } __DATA__ CIMG_00046 => 399 CIMG_00047 => 865 CIMG_00048 => 330 CIMG_00048 => 506 CIMG_00053 => 167 CIMG_00063 => 468 CIMG_00063 => 467 CIMG_00063 => 466 CIMG_00063 => 469 CIMG_00063 => 460 __END__ CIMG_00046 399 CIMG_00047 865 CIMG_00048 506 CIMG_00053 167 CIMG_00063 469