Documentation tells that DBIx::Class::ResultSet::find() returns a row object.
What it does not tell is what is returned if no row is found. Actually it returns an empty list in list context - not an undef as one might expect. While the difference between empty list and undef is usually not important, it can lead to confusing results if find() is called as subroutine argument: do_something($alpha, $rs->find($id), $omega); meaning do_something() is called with three arguments if find() succeeds and two arguments if it fails. So since find() is not designed to return lists, to be consistent it should always return a single value: either a row object or undef. Objections? -- Bernhard Graf _______________________________________________ List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class Wiki: http://dbix-class.shadowcatsystems.co.uk/ IRC: irc.perl.org#dbix-class SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/ Searchable Archive: http://www.mail-archive.com/[email protected]/
