I know that you can use grepto filter an array based on a logical state. However, I want to get 2 arrays back: 1 for elements that match the condition, and 1 for elements that fail. For example, instead, which requires repeating the list twice:
my @arr = (1,2,3,4,5);
my @evens = grep { $_%2==0 } @arr;
my @odds = grep { $_%2!=0 } @arr;
I would like something like this:
my @arr = (1,2,3,4,5);
my ($evens, $odds) = magic { $_%2==0 } @arr;
Where magicreturns 2 arrayrefs or something like that. Is there such an operator, or do I need to write it myself?
source
share