in reply to ...unblessed reference...

er, I think you want that bless call outside the anonymous sub! And don't forget that the assignment my $ref = sub {...} is a statement, so you'll need a semicolon after it. (You got away with it before because it was the last statement in the enclosing block.)