my (@records1, @records2, @records3) foreach (@records) { if (/^BLOGO/) { push @records1, $_; } elsif (/\d{3}-FMT-FMT) { push @records2, $_; } else { push @records3, $_; } #### foreach (\@records1, \@records2, \@records3) { my @recs = @$_; #-- print join "\n", sort {$a1 = $a =~ /(\d+)/; $b1 = $b =~ /(\d+)/; $a1 <=> $b1 } @recs; #-- }