/Perl 5.26



Pod::Simple::Debug -- put Pod::Simple into trace/debug mode


use Pod::Simple::Debug (5);  # or some integer


my $debuglevel;
use Pod::Simple::Debug (\$debuglevel, 0);
...some stuff that uses Pod::Simple to do stuff, but which
 you don't want debug output from...

$debug_level = 4;
...some stuff that uses Pod::Simple to do stuff, but which
 you DO want debug output from...

$debug_level = 0;


This is an internal module for controlling the debug level (a.k.a. trace level) of Pod::Simple. This is of interest only to Pod::Simple developers.


Note that you should load this module before loading Pod::Simple (or any Pod::Simple-based class). If you try loading Pod::Simple::Debug after &Pod::Simple::DEBUG is already defined, Pod::Simple::Debug will throw a fatal error to the effect that "It's too late to call Pod::Simple::Debug".

Note that the use Pod::Simple::Debug (\$x, somenum) mode will make Pod::Simple (et al) run rather slower, since &Pod::Simple::DEBUG won't be a constant sub anymore, and so Pod::Simple (et al) won't compile with constant-folding.


Doing this:

use Pod::Simple::Debug (5);  # or some integer

is basically equivalent to:

BEGIN { sub Pod::Simple::DEBUG () {5} }  # or some integer
use Pod::Simple ();

And this:

use Pod::Simple::Debug (\$debug_level,0);  # or some integer

is basically equivalent to this:

my $debug_level;
BEGIN { $debug_level = 0 }
BEGIN { sub Pod::Simple::DEBUG () { $debug_level }
use Pod::Simple ();



The article "Constants in Perl", in The Perl Journal issue 21. See http://interglacial.com/tpj/21/


Questions or discussion about POD and Pod::Simple should be sent to the [email protected] mail list. Send an empty email to [email protected] to subscribe.

This module is managed in an open GitHub repository, https://github.com/theory/pod-simple/. Feel free to fork and contribute, or to clone git://github.com/theory/pod-simple.git and send patches!

Patches against Pod::Simple are welcome. Please send bug reports to <[email protected]>.

Copyright (c) 2002 Sean M. Burke.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.


Pod::Simple was created by Sean M. Burke <[email protected]>. But don't bother him, he's retired.

Pod::Simple is maintained by:

  • Allison Randal allison@perl.org
  • Hans Dieter Pearcey hdp@cpan.org
  • David E. Wheeler dwheeler@cpan.org

© 1993–2016 Larry Wall and others
Licensed under the GNU General Public License version 1 or later, or the Artistic License.
The Perl logo is a trademark of the Perl Foundation.