PL/SQL procedures can have characters in them that are not allowed for Perl subroutines, most importantly a dot.
Actually, this is wrong =]. To demonstrate:
*{"dbms_random.random"} = sub { print "I am dbms_random.random\n" }
"dbms_random.random"->();
I have no idea what practical use this has, but I thought you should know!
You might want to consider just exporting a hash of functions. That way all the functions are in one place for easy listing and so forth and you don't have to worry about mapping subroutine names, as hash keys can contain any character (which is why the subroutine definition code above works..)