map and grep

Transform kiosk lists.

Transform kiosk lists. grep keeps.

Goal

Say cities with at least 8 units.

use strict;
use warnings;
use feature 'say';

my @units = (12, 8, 5);
say join(", ", map { $_ * 40 } @units);
use strict;
use warnings;
use feature 'say';

my @rows = (
  { city => "Nairobi", units => 12 },
  { city => "Mombasa", units => 8 },
  { city => "Kisumu", units => 5 },
);
say join(", ", map { $_->{city} } grep { $_->{units} >= 8 } @rows);
use strict;
use warnings;
use feature 'say';

my @units = (12, 8, 5);
my $sum = 0;
$sum += $_ for @units;
say $sum;
use strict;
use warnings;
use feature 'say';

say join(",", grep { $_ ge "M" } ("Nairobi", "Kisumu", "Eldoret"));