use List::Util qw[ shuffle ]; my @randUnique = shuffle map{ sprintf "1%011d", $_ } 1 .. 25e3;; print $randUnique[ $_ ] for 1 .. 10;; ## First 10 100000016682 100000002653 100000013669 100000004625 100000009482 100000002763 100000022284 100000000048 100000015278 100000012155