$ cat pm_1144803_fasta_seq_len_sort.pl #!/usr/bin/env perl use strict; use warnings; my (%sequences, $seq_key); while (<>) { chomp; if (/^>/) { $seq_key = substr $_, 1; } else { $sequences{$seq_key} = $_; } } foreach my $key ( sort {length $sequences{$a} <=> length $sequences{$b} } keys %sequences) { my $len = length ($sequences{$key}); print "$key:$len\n"; }