for (0..$all_the_numbers) { ... # This will be called $all_the_numbers+1 times # (eg, if $all_the_numbers is 1, it will be called for 0 and 1, so twice) } #### for (0..$all_the_numbers) { my $number = 30 - int(rand(20)); push @all_rand, $number; # Always add to all_rand; next if $number >= 0; # Skip if number is positive push @negative_only; } #### for my $random_number (@all_rand) { push @negative_only if $random_number < 0; }