I said: An AUTOLOAD for dbms_random_random has no (easy) way to
figure out if it is supposed to call dbms_random.random or
dbms.random_random.
You said: Well actually you have the same problem if you are exporting functions with the added disadvantage of tons of redundant code.
I think I could get around the naming problem by explicitly exporting subroutines (and not using AUTOLOAD)
use MyProcedures qw (dbms_random.random );
# this creates:
sub CallingPackage::dbms_random_random {
# call dbms_random.random in the database
}
So the subroutine you get has actually a different
name than what you asked for, which admittedly is a bit strange.
I do not get the part about the "tons of redundant code".
The subroutines are only created when imported, and they are very slim (just one peppered subroutine call each).
I put the module in my scratchpad if you want to have a look.
Unless it turns out to be totally flawed I want to publish it to CPAN this week.
|