There are a lot of reasons why this is a really bad idea:
- Modules can no longer be used independently of the main program, since they require a declaration of use Debug somewhere. This kind of defeats the point of modules: having a chunk of code that can be re-used in different contexts.
- Modules not written by you that include a sub-routine called dp now fail if they are loaded before Debug, since their dp will be over-written when Debug is loaded. This is going to be a nightmare to trace down, because when you put together a minimal test case for the module it is going to work fine.
- It makes maintenance hard, since there is no way for the maintenance programmer to know where dp is coming from.
The one second it takes to type 'use Debug;' is smaller by orders of magnitude than the amount of thinking and typing time required to implement even the most trivial module. If you are really worried about it, create a module skeleton that includes all the declarations you want and get your text editor to use it as a template for any new .pm files you create.