The correct solution for this problem here is to use each_arrayref, and passing in explicit references: my $ea = List::MoreUtils::each_arrayref(\@ary1, \@ary2); This is no longer as idiomatic, unfortunately. I will add a note to the documentation about this in the next reAs others have pointed out, this is indeed a problem with prototypes and loading the module at runtime via 'require'. There is no fix for it. What I can possibly do is add some argument checking to each_array making sure that it actually receives references to arrays. However, this is error-prone in a case like this, where the arrays contain array-refs themselves:my @ary1 = ( [1, 2], [3, 4]); my @ary2 = ( [4, 5], [6, 7]); my $ea = List::MoreUtils::each_array(@ary1, @ary2);
The correct solution for this problem here is to use each_arrayref, and passing in explicit references:my @ary1 = ( [1, 2], [3, 4]); my @ary2 = ( [4, 5], [6, 7]); my $ea = List::MoreUtils::each_array(@ary1, @ary2);
This is no longer as idiomatic, unfortunately. I'll add a warning about this problem in the next release.my $ea = List::MoreUtils::each_arrayref(\@ary1, \@ary2);
In reply to Re: List::MoreUtils and require
by ethan
in thread List::MoreUtils and require
by Tanktalus
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |