Robert Spier wrote:
In terms of backwards compatibility - we can maintain it by having the (current) register subroutine create the appropriate subroutine or alias.
Interesting idea. Since many plugins use register() as an opportunity to parse their config line options and initialize private storage, your new scheme would require some other way of accomplishing that task, like an init() function which is called when loading the plugin (supplying the command line args, which is why BEGIN {} wouldn't work).
Other than that, it sounds good! As you say, it's going to slightly annoying to loop over the available hook subs for each plugin; perhaps the loop should shortcut if the plugin _has_ a register() sub already (old-style, in other words).
John
