|We don't bite newbies here... much|
How to alias a whole namespace to another namespace (in this case main::)by aufflick (Deacon)
|on Nov 15, 2004 at 03:47 UTC||Need Help??|
aufflick has asked for the wisdom of the Perl Monks concerning the following question:
Imagine a library of subs that are 'require'd in a bnch of files.
At the moment they are all global (ie in main::), but I want to move them to a namespace (say Util::) to avoide clashes etc.
But there's a lot of code that uses these and I don't want to have to touch every file, possibly breaking it.
So I want to define all the subs in a namespace, but for the next few months have the subs aliased to main:: as well. One at a time that's easy, but I would like to pull all the sub names from the package table and alias them all in one hit (or a loop).
I'm sure it's simple, I'm just not quite sure how to achieve it.
Update: I am thinking something like this:
but that doesn't work... I'd also like to use * globs since they would be more efficient
Update 2:This works:
But i'm sure it's not efficient for a lot of symbols...