in reply to Passing with $_ instead of @_ in anonymous subs
$_ is visible within your methods.
All you have to add at the beginning of your method is:
But you can't expect to behave so as to automagically modify $_ if you modify $_[0].@items = ($_) unless @items;
In Section
Seekers of Perl Wisdom