NAME
warnings - Perl pragma to control optional warnings
SYNOPSIS
use warnings;
no warnings;
use warnings "all";
no warnings "all";
use warnings::register;
if (warnings::enabled()) {
warnings::warn("some warning");
}
if (warnings::enabled("void")) {
warnings::warn("void", "some warning");
}
if (warnings::enabled($object)) {
warnings::warn($object, "some warning");
}
warnings::warnif("some warning");
warnings::warnif("void", "some warning");
warnings::warnif($object, "some warning");
DESCRIPTION
The warnings pragma is a replacement for the command line flag -w, but the pragma is limited to the enclosing block, while the flag is global. See perllexwarn for more information and the list of built-in warning categories.
If no import list is supplied, all possible warnings are either enabled or disabled.
A number of functions are provided to assist module authors.
- use warnings::register
-
Creates a new warnings category with the same name as the package where the call to the pragma is used.
- warnings::enabled()
-
Use the warnings category with the same name as the current package.
Return TRUE if that warnings category is enabled in the calling module. Otherwise returns FALSE.
- warnings::enabled($category)
-
Return TRUE if the warnings category,
$category, is enabled in the calling module. Otherwise returns FALSE. - warnings::enabled($object)
-
Use the name of the class for the object reference,
$object, as the warnings category.Return TRUE if that warnings category is enabled in the first scope where the object is used. Otherwise returns FALSE.
- warnings::fatal_enabled()
-
Return TRUE if the warnings category with the same name as the current package has been set to FATAL in the calling module. Otherwise returns FALSE.
- warnings::fatal_enabled($category)
-
Return TRUE if the warnings category
$categoryhas been set to FATAL in the calling module. Otherwise returns FALSE. - warnings::fatal_enabled($object)
-
Use the name of the class for the object reference,
$object, as the warnings category.Return TRUE if that warnings category has been set to FATAL in the first scope where the object is used. Otherwise returns FALSE.
- warnings::warn($message)
-
Print
$messageto STDERR.Use the warnings category with the same name as the current package.
If that warnings category has been set to "FATAL" in the calling module then die. Otherwise return.
- warnings::warn($category, $message)
-
Print
$messageto STDERR.If the warnings category,
$category, has been set to "FATAL" in the calling module then die. Otherwise return. - warnings::warn($object, $message)
-
Print
$messageto STDERR.Use the name of the class for the object reference,
$object, as the warnings category.If that warnings category has been set to "FATAL" in the scope where
$objectis first used then die. Otherwise return. - warnings::warnif($message)
-
Equivalent to:
if (warnings::enabled()) { warnings::warn($message) } - warnings::warnif($category, $message)
-
Equivalent to:
if (warnings::enabled($category)) { warnings::warn($category, $message) } - warnings::warnif($object, $message)
-
Equivalent to:
if (warnings::enabled($object)) { warnings::warn($object, $message) } - warnings::register_categories(@names)
-
This registers warning categories for the given names and is primarily for use by the warnings::register pragma, for which see perllexwarn.