warnings(3)

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");
    }
    warnif("some warning");
    warnif("void", "some warning");
    warnif($object, "some warning");

DESCRIPTION
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::warn($message)
        Print "$message" to 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 "$message" to STDERR.

        If the warnings category, "$category", has been set to "FATAL" in the calling module then die. Otherwise return.

    warnings::warn($object, $message)
        Print "$message" to 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 "$object" is 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) }

    See the Pragmatic Modules entry in the perlmodlib manpage and the perllexwarn manpage.