Pod::Simple::Debug(3pm) Perl Programmers Reference Guide Pod::Simple::Debug(3pm)

# [NAME](#NAME)

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

# [SYNOPSIS](#SYNOPSIS)

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

Or:

```
 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;
```

# [DESCRIPTION](#DESCRIPTION)

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.

# [CAVEATS](#CAVEATS)

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.

# [GUTS](#GUTS)

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 ();
```

# [SEE ALSO](#SEE_ALSO)

Pod::Simple

The article "Constants in Perl", in *The Perl Journal* issue 21. See &lt;http://interglacial.com/tpj/21/&gt;

# [SUPPORT](#SUPPORT)

Questions or discussion about POD and Pod::Simple should be sent to the pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe.

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

Patches against Pod::Simple are welcome. Please send bug reports to &lt;bug-pod-simple@rt.cpan.org&gt;.

# [COPYRIGHT AND DISCLAIMERS](#COPYRIGHT_AND_DISCLAIMERS)

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.

# [AUTHOR](#AUTHOR)

Pod::Simple was created by Sean M. Burke &lt;sburke@cpan.org&gt;. 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"

2026-10-26 perl v5.44.0

---

Document: Pod::Simple::Debug(3pm) from perl 5.44.0-r3 (Chainguard OS)
Source: https://github.com/Perl/perl5.git
