@array = (2 ,4, 3, 8, 9, 12, 13, 20, 18, 7 ) @sortedarray = (20, 18, 13, 12, 9, 8, 7, 4, 3, 2) After replacement (A, A, -, -, -, -, -, -, -, -, B, B) @finalarray = (B, -, B, -, -, -, -, A, A , -) #### #! perl -slw use strict; my @array = (2 ,4, 3, 8, 9, 12, 13, 20, 18, 7 ); my @orderedIndeces = sort{ $array[ $b ] <=> $array[ $a ] } 0 .. $#array; my $n = scalar @array; my $twentyperc = $n * 0.2; for my $i (0..$#orderedIndeces){ if ( $i < $twentyperc) { $array[$orderedIndeces[$i]] = "A"; print "$array[$orderedIndeces[$i]]\t"; } elsif ($i >= $n-$twentyperc){ $array[$orderedIndeces[$i]] = "B"; print "$array[$orderedIndeces[$i]]\t"; } else{ $array[$orderedIndeces[$i]] = "-"; print "$array[$orderedIndeces[$i]]\t"; } print "\n"; }