my @nums = 1 .. 10;
my @results = evens(@nums);
####
sub evens {
my (@nums) = @_;
...;
}
####
sub this_sub_returns_1 {
return 1;
2;
}
sub this_sub_returns_2 {
1;
2;
}
####
use strict;
use warnings;
# Write a subroutine (&evens) that recieves an array of numbers and returns
# an array containing only even numbers Give an example of calling the
# subroutine.
sub even
{
my (@nums) = @_;
my @evens;
foreach my $number (@nums)
{
if ($number % 2 == 0)
{
push @evens, $number;
}
}
return @evens;
}
print "Results for even(1..10)\n";
print "$_\n" for even( 1 .. 10 );
sub even_better
{
grep { $_ % 2 == 0 } @_;
}
print "Results for even_better(1..10)\n";
print "$_\n" for even_better( 1 .. 10 );
# Write a subroutine(&squares) that recieves an array of numbers and
# squares each number in the array. Note: nothing is returned.
sub square
{
foreach my $number (@_)
{
$number *= $number;
}
return;
}
print "Results for square(1..10)\n";
my @nums = 1 .. 10;
square(@nums);
print "$_\n" for @nums;
sub square_better
{
$_ *= $_ for @_;
}
print "Results for square_better(1..10)\n";
my @nums_better = 1 .. 10;
square_better(@nums_better);
print "$_\n" for @nums_better;