use strict;
use warnings;
my @nums = ( 1, 2, 3, 8, 19, 31, 42, 77, 113, 121, 144 );
my @odds;
# 1. Get odd numbers using "for"
for (my $i = 0; $i < @nums; $i++) {
if (0 != $num[$i] % 2) {
push @odds, $_;
}
}
# 2. Get odd numbers using "foreach"
foreach (@nums) {
($_ % 2) and push @odds, $_;
}
# 3. Get odds using "grep"
@odds = grep { 0 != ($_ % 2) } @nums;
# 4. Get odds using "map"
@odds = map { ($_ % 2)? $_: () } @nums;
# 5. Demonstrate the folly of breaking out of "map" with "last"
@odds = map { ($_ % 2)? $_: last } @nums;
####
foreach (@nums) { ($_ % 2) and push @odds, $_ }
####
Can't "last" outside a loop block at last_test.pl line 27.