for ( @data ) { my $key = substr($_, 0, 7); push @order, $key if ! defined $unique{$key}; $unique{$key} = $_; } print "$_ : $unique{$key}\n" for @data{@order};