Michael Lazzaro wrote:
(@foo,@bar,@zap) := classify { /foo/ ;; /bar/ ;; /zap/ } @source; A shorthand for:for @source { given { when /foo/ { push @foo, $_ } when /bar/ { push @bar, $_ } when /zap/ { push @zap, $_ } } }
How about just (@foo,@bar,@zap) := classify [ rx/foo/, rx/bar/, rx/zap/ ] @source; and implement classify as a normal sub? Why does everything have to be built into the first version of Perl 6? Is there any reason classify can't be a normal sub? e.g. can a sub return ( [], [], [] ) and have that bound to 3 array variables? What about return @AoA when @AoA = ( [], [], [] )? - Ken
