Seth Woolley's Man Viewer

B::Lint(3) - B::Lint - Perl lint - man 3 B::Lint

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

B::Lint(3)             Perl Programmers Reference Guide             B::Lint(3)

       B::Lint - Perl lint

       perl -MO=Lint[,OPTIONS]

       The B::Lint module is equivalent to an extended version(1,3,5) of the -w
       option of perl. It is named(5,8) after the program lint which carries out a
       similar process for C programs.

       Option words are separated by commas (not whitespace) and follow the
       usual conventions of compiler backend options. Following any options
       (indicated by a leading -) come lint check arguments. Each such argu-
       ment (apart from the special all and none options) is a word represent-
       ing one possible lint check (turning on that check) or is no-foo (turn-
       ing off that check). Before processing the check arguments, a standard
       list of checks is turned on. Later options override earlier ones.
       Available options are:

       context Produces a warning whenever an array is used in(1,8) an implicit
               scalar context. For example, both of the lines

                   $foo = length(@bar);
                   $foo = @bar;
               will elicit a warning. Using an explicit B<scalar()> silences the
               warning. For example,

                   $foo = scalar(@bar);

       implicit-read and implicit-write
               These options produce a warning whenever an operation implic-
               itly reads or (respectively) writes to one of Perl's special
               variables.  For example, implicit-read will warn about these:


               and implicit-write will warn about these:


               Both implicit-read and implicit-write warn about this:

                   for (@a) { ... }

               This option warns whenever a bareword is implicitly quoted, but
               is also the name of a subroutine in(1,8) the current package. Typi-
               cal mistakes that it will trap are:

                       use constant foo => 'bar';
                       @a = ( foo => 1 );
                       $b{foo} = 2;

               Neither of these will do what a naive user would expect.

               This option warns whenever $_ is used either explicitly any-
               where or as the implicit argument of a print statement.

               This option warns on each use of any variable, subroutine or
               method name that lives in(1,8) a non-current package but begins with
               an underscore ("_"). Warnings aren't issued for the special
               case of the single character name "_" by itself (e.g. $_ and

               This option warns whenever an undefined subroutine is invoked.
               This option will only catch explicitly invoked subroutines such
               as "foo()" and not indirect invocations such as "&$subref()" or
               "$obj->meth()". Note that some programs or modules delay defi-
               nition of subs until runtime by means of the AUTOLOAD mecha-

               This option warns whenever one of the regexp(3,n) variables $', $&
               or $' is used. Any occurrence of any of these variables in(1,8) your
               program can slow your whole program down. See perlre for

       all     Turn all warnings on.

       none    Turn all warnings off.

       -u Package
               Normally, Lint only checks the main code of the program
               together with all subs defined in(1,8) package main. The -u option
               lets you include other package names whose subs are then
               checked by Lint.

       This is only a very preliminary version.

       This module doesn't work correctly on thread-enabled perls.

       Malcolm Beattie,

perl v5.8.5                       2001-09-21                        B::Lint(3)

References for this manual (incoming links)