In the document it says that retrieve will return a object, but in fact it doesn't, it returns just a scalar, look into the code of Class::DBI at line 664, 664: return $rows[0]; $obj = Class->retrieve( %hash ); is this a bug? -- perl -e 'print unpack(u,"62V5N\"FME;G\!E<FQ`9VUA:6PN8V]M\"\@`` ")'