https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=19809 --- Comment #5 from Julian Maurice <julian.maurice@biblibre.com> --- (In reply to Marcel de Rooy from comment #4)
My first feeling is that if we allow list context, we should return an empty list instead of undef. It would fix your if( @a ) test since @a==0. This doesn't need to be fixed. Empty list and undef both evaluate to a false value in this context.
But what would pop up again? Constructions like the one in Objects.t: my $patrons = { foo => Koha::Patrons->find('foo'), bar => 'baz', }; This would generate "Odd number of elements in anonymous hash" warnings and mixup of hash keys and values. So we should have to add scalars again in the parameter hashes. I believe that is the main reason why calls in list context were forbidden in the first place. But this problem disappear if 'find' returns undef instead of an empty list.
So the question actually becomes: Where do we want to add scalars? Nowhere! Because we don't need to :-)
IMO 'find' is a method that should return one, only one, and always one result. And this should not depend on the calling context. -- You are receiving this mail because: You are watching all bug changes.