Provides program checking for Perl programs, equivalent to running Perl
with the
-w
option. Named after the Unix
lint
program for
checking C programs. Invoked as:
perl -MO=Lint[,
options
]
program
program
is the name of the Perl program to be checked. The options
are separated by commas and follow normal backend option conventions. Most
of the options are
lint
-check options, where each option is a word
specifying one
lint
check. Preceding an option with
no-
turns off that option. Options specified later override earlier options.
There is also one non-lint-check option,
-u
. Here is the list of
available options:
-
all
-
Turns all warnings on.
-
context
-
Warns whenever an array is used in implicit scalar context.
-
dollar-underscore
-
Warns whenever
$_
is explicitly used anywhere or whenever it is used
as the implicit argument of a
print
statement.
-
implicit-read
-
Warns whenever an operation implicitly reads a Perl special variable.
-
implicit-write
-
Warns whenever an operation implicitly writes to a Perl special variable.
-
none
-
Turns off all warnings.
-
private-names
-
Warns whenever any variable, subroutine, or method name lives in a non-current
package but begins with an underscore (
_
); doesn't warn about an
underscore as a single-character name, e.g.,
$_
.
-
regexp-variables
-
Warns whenever one of the regular-expression variables
$'
,
$&
,
or
$`
is used.
-
-u Package
-
Normally checks only the main program code and all subroutines defined in
package
main
;
-u
lets you specify other packages to be checked.
-
undefined-subs
-
Warns whenever an undefined subroutine is invoked.