sub grep2 (&@) { my $code = shift; my ($true, $false) = ([], []); push @{ &{$code}() ? $true : $false }, $_ for @_; return ($true, $false); }