in reply to autoload - why is eval needed in this example?

I think what you are looking for is
*$AUTOLOAD = $subs{$name};