my @tab_anonyme; for $i (0..$#my_data) { $tab_anonyme[$i][0] = $my_data[$i][0]; # data to keep $tab_anonyme[$i][1] = int ( rand (100) ) + 1; # anonyme label } # verification my $flag_duplicate; do { $flag_duplicate = "false"; for $i (0..$#tab_anonyme) { for $i2 (0..$#tab_anonyme) { if ($i2 == $i) { next; } # no testing of a value against itself if ( $tab_anonyme[$i][1] == $tab_anonyme[$i2][1] ) { $tab_anonyme[$i2][1] = int ( rand (100) ) + 1; $flag_duplicate = "true"; } } } } while ( $flag_doublon eq "true" );