use List::Util qw[ shuffle ]; my @numbs = shuffle 1 .. 40000; for my $num ( @numbs ) { if( $num == 1 ) { ... } }