passing Perl method results as a reference
- by arareko
Some XML::LibXML methods return arrays instead of references to arrays.
Instead of doing this:
$self->process_items($xml->findnodes('items/item'));
I want to do something like:
$self->process_items(\$xml->findnodes('items/item'));
So that in process_items() I can dereference the original array instead of creating a copy:
sub process_items {
my ($self, $items) = @_;
foreach my $item (@$items) {
# do something...
}
}
I can always store the results of findnodes() into an array and then pass the array reference to my own method, but let's say I want to try a reduced version of my code. Is that the correct syntax for passing the method results or should I use something different?
Thanks!