I don't think you can construct a reference to a builtin. References are to things with memory addresses and builtins don't have any (if i am wrong, someone will yell at me).
This will more or less accomplish what you want to do, though:
my %hash = (
foo => sub {uc shift},
);
print $hash{foo}->("hello\n");