# use hash keys to hold unique id codes my %id_codes; # number of codes to generate my $batch_qty = 100; # length of id code my $length = 24; while (scalar keys(%id_codes) < $batch_qty){ my $id; for (1..$length){ $id .= ('A'..'Z', 'a'..'z', '0'..'9')[rand(62)]; } $id_codes{$id} = 1; }