Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re: Debugging in packages

by TheoPetersen (Priest)
on Jul 17, 2001 at 17:30 UTC ( #97307=note: print w/replies, xml ) Need Help??

in reply to Debugging in packages

There's nothing terribly wrong with this approach, and it's the typical first step along the way to more complicated debugging schemes. Once the script is working you'll probably go on to set the debug flag from an environment variable or command line option as I did.

The reason for other recommendations is that this scheme makes debugging an all or nothing mechanism. When I was working on a very complex system with many classes, I needed a way to get run-time information from the classes of interest, without clogging output completely with the full range of feedback I'd coded into the system. For that I used an initialization that parsed out which classes should spit out run-time information, then went on the specialize it more so that the instances associated with certain tables would have debugging on, while others were off.

One disadvantage to using a global variable is that it is prone to typos. If your code refers to $main::DEBYG somewhere you'll have to catch it yourself; it's a valid variable name.

Also, you can shorten your modifiers:

if $self->{DEBUG}
rather than
if ($self->{DEBUG})
unless you just prefer the way the parenthesis look.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://97307]
LanX imagines which nations would be dominating if the winter olympics were invented in East Asia
[LanX]: Corion: and that's the clue how Germany can dominate Handball tournaments, just continuing the domestic league and forbidding the best players of the world to attend :)
LanX (which would be a good scheme for England and football too)
[LanX]: If "Canada will play the Czech Republic for bronze on Saturday", that means Germany will play Syria in disguise...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (11)
As of 2018-02-23 16:42 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (303 votes). Check out past polls.