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
####
my @randUnique = shuffle map{
sprintf "%07d%05d", 1e7+int( rand 1e6 ), $_
} 1 .. 25e3;;
print $randUnique[ $_ ] for 1 .. 10;;
1091497817847
1018472205890
1028707802676
1078720009752
1016540524132
1074148507607
1022293016846
1018341020021
1038845808717
1056634512933
####
print time();
my @randUnique = shuffle map{
sprintf "%07d%05d", 1e7+int( rand 1e6 ), $_
} 1 .. 1e6;
print time();;
1209603392
1209603398 ## 6 seconds for 1e6