my %seen; my %original_map = map { $_ => chr($count++) } grep !$seen{$_}++, sort { $a <=> $b } @original_array;