#!/usr/bin/env perl use warnings; use strict; use feature qw/say/; my $all_the_numbers=int(rand(19)); say "$all_the_numbers"; my @rand=(); for (1..$all_the_numbers) { push @rand, 20-int(rand(30)); } say "@rand"; for (1..$all_the_numbers) { for (@rand) { if ( $rand[0]<0 ) { next; } # skip the negative ones shift @rand; } } say "@rand"; #### for (@rand) { if ( $rand[0]<0 ) { next; } shift @rand; } #### for (@rand) { if ( $rand[0]<0 ) { next; } else { shift @rand; } } #### for (@rand) { if ( $rand[0]>=0 ) { shift @rand; } else { next; } }