in reply to Reverse engineering some code :(

See the doc. selectall_hashref returns a reference to a hash where the values are hashrefs, each containing all the columns from one row, and the keys are one of the columns, which you identify with the $keyfield parameter. That call seems to be missing the $keyfield (which I'm guessing would be "nick").

Looking at how get_score is used in triviabot.pl, it seems that it should be returning a reference to an array of hashrefs instead, which you would do like:

return $obj->{dbh}->selectall_arrayref("SELECT * FROM scores", { S +lice => {} }) };