# better for speed print "1\n3\n5\n7\n9\n11\n13\n"; # better for clarity print "$_\n" foreach qw(1 3 5 7 9 11 13); # better if you like C for ( my $i = 1; $i < 14; $i += 2 ) { print "$i\n"; } # better if you like walking backwards for ( my $i = 13; $i > 0; $i-=2 ) { print "$i\n"; } # better if you like while loops my $i = 1; do { print "$i\n"; } while ( ($i+=2) < 14 ); # better if you like join print join("\n", qw(1 3 5 7 9 11 13), ''); # better if you like map print map { "$_\n" } qw(1 3 5 7 9 11 13); # better if you like printf printf ("%i\n", $_) foreach qw(1 3 5 7 9 11 13); # better if you don't like hard coding odd numbers print map { "$_\n" } grep { $_ % 2 } ( 1 .. 13); # better if you don't like white space. print(join':',grep{$_%2}(1..13)); # better if you don't assume things # (like 'don't print even numbers') print map { "$_\n" } (1..13); # better if you like strings print "@{[grep{$_%2}(1..13)]}\n";