package Deb; sub frob { # do stuff... print_debugging_info if $main::DEBUG; # do more stuff... } # ... package main; $::DEBUG = undef; # usually don't want debugging information my $deb1 = new Deb (...); my $deb2 = new Deb (...); # do stuff with $deb1, $deb2, but no debugging information { local $::DEBUG = 1; # buggy bit $deb1->frob(42); $deb2->nitz(17); } # no more debugging output # ...