use List::Util qw[ shuffle ]; my @data = 1 .. 1553;; my @results = map[ shuffle @data ], 1.. 1e5;