in reply to Extracting subset from list: map unsuitable?
I now get:my @someFruit = map { if ($_ =~ m/^[ap]/) { $_;} else { (); } } @allFr +uit;
no. of some fruit: 2 some fruit: apple*apricotJust to show you that it can be made to work. I'm not sure what is inserted in your version, I would have though of undef, but I get no warnings, so likely it's a boolean false (0 as number and "" as string), same value as !1 returns.
For this particular application, it would be wiser to use grep, but you could have used ? : too. And there's no need for the $_ =~. (Or the m.)
my @someFruit = map { m/^[ap]/ ? $_ : () } @allFruit;
my @someFruit = grep { m/^[ap]/ } @allFruit;
|
|---|