sub subby(&\@\@) { my ($coderef, $listA, $listB) = @_; my @result; .. logic .. @result; } #### my @subset = subby { .. logic .. } @A, @B; #### my @subset = subby { .. logic .. } @A, grep { .. logic .. } @B; #### Type of arg 3 to main::subby must be array (not grep iterator) at ./test line 36, near "@B;" #### my @subset = subby { .. logic .. } @A, (grep { .. logic .. } @B);