my @data = qw/a mnk ab m b bc abcd cd bcd bd m nk /; my $prev = ''; @data = grep { substr($prev, 0, length) ne $_ and ($prev = $_,1) } reverse sort @data;