---
name: "Pod::Simple::Debug"
section: "3perl"
platform: "linux"
package: "perl"
version: "5.44.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Pod::Simple::Debug/3perl"
---

# Pod::Simple::Debug(3perl)

## NAME

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

## 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

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

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

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

Pod::Simple

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

## 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, \<https://github.com/perl-pod/pod-simple/\>. Feel free to fork and contribute, or to clone \<https://github.com/perl-pod/pod-simple.git\> and send patches!

Patches against Pod::Simple are welcome. Please send bug reports to \<bug-pod-simple@rt.cpan.org\>.

## 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

Pod::Simple was created by Sean M. Burke \<sburke@cpan.org\>. 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"`
