I have found that most of the CPAN packages that provide debugging provide a special class global variable (by using Exporter or 'our') that enabled debugging in the class. While DEBUG is a sufficiently common variable that people will set if they want to debug something, you can't guarentee it, and it's better if your class provides it's own way to do it.