in reply to Perl behaviour - is it '$@' or 'sort' causing me grief?

# Look closely: sort { $a=>rank <=> $b->rank } @$messages # Your sort sub is returning (I think): ($a, (rank <=> $b->rank))