Provided by: libsub-strictdecl-perl_0.005-2build6_amd64 

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.
perl v5.40.0 2024-10-20 Sub::StrictDecl(3pm)