Provided by: libsub-strictdecl-perl_0.005-2build1_amd64 bug

NAME

       Sub::StrictDecl - detect undeclared subroutines in compilation

SYNOPSIS

               use Sub::StrictDecl;

               no Sub::StrictDecl;

DESCRIPTION

       This module provides optional checking of subroutine existence at compile time.  This
       checking detects mistyped subroutine names and subroutines that the programmer forgot to
       import.  Traditionally Perl does not detect these errors until runtime, so it is easy for
       errors to lurk in rarely-executed or untested code.

       Specifically, where checking is enabled, any reference to a specific (compile-time-
       constant) package-based subroutine name is examined.  If the named subroutine has never
       been declared then an error is signalled at compile time.  This does not require that the
       subroutine be fully defined: a forward declaration such as ""sub foo;"" suffices to
       suppress the error.  Imported subroutines qualify as declared.  References that are
       checked include not only subroutine calls but also pure referencing such as ""\&foo"".

       This checking is controlled by a lexically-scoped pragma.  It is therefore applied only to
       code that explicitly wants the checking, and it is possible to locally disable checking if
       necessary.  Checking might need to be turned off for code that makes special arrangements
       to put a subroutine in place at runtime, for example.

PACKAGE METHODS

       Sub::StrictDecl->import
           Turns on subroutine declaration checking in the lexical environment that is currently
           compiling.

       Sub::StrictDecl->unimport
           Turns off subroutine declaration checking in the lexical environment that is currently
           compiling.

SEE ALSO

       Perl::Critic::StricterSubs, strict

AUTHOR

       Andrew Main (Zefram) <zefram@fysh.org>

COPYRIGHT

       Copyright (C) 2011 PhotoBox Ltd

       Copyright (C) 2011, 2015, 2017 Andrew Main (Zefram) <zefram@fysh.org>

LICENSE

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