B::LintSubs

B::LintSubs is a Perl compiler backend to check sub linkage.
Download

B::LintSubs Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Paul Evans
  • Publisher web site:
  • http://search.cpan.org/~pevans/String-Expand-0.03/lib/String/Expand.pm

B::LintSubs Tags


B::LintSubs Description

B::LintSubs is a Perl compiler backend to check sub linkage. B::LintSubs is a Perl compiler backend to check sub linkage.SYNOPSISperl -MO=LintSubs When using use strict, subroutine names are not checked at the callsite; this makes the following a perfectly valid program at compiletime, that only blows up at runtime use strict; foobar();When using the B::LintSubs checker instead, this is detected: $ perl -MO=LintSubs -e 'use strict; foobar();' Undefined subroutine foobar called at -e line 2Imported functions from other modules are of course detected: $ perl -MO=LintSubs -e 'use strict; use List::Util qw( max ); $_ = max( 1, 2, 3 )' -e syntax OKIn order to handle situations where external code is conditionally referenced at runtime, any fully-qualified references to other functions are printed with a warning, but not considered fatal. The programmer is assumed to Know What He Is Doing in this case: $ perl -MO=LintSubs -e 'if( 1 ) { require Data::Dumper; Data::Dumper::Dump( "Hello" ) }'Unable to check call to Data::Dumper::Dump in foreign package at -e line 1 -e syntax OK Requirements: · Perl


B::LintSubs Related Software