summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xperl_checker4
1 files changed, 4 insertions, 0 deletions
diff --git a/perl_checker b/perl_checker
index d1cd082..fe94764 100755
--- a/perl_checker
+++ b/perl_checker
@@ -63,6 +63,10 @@ if (/\blocal\b.*\|\|=/) {
err(q(never use ``local $var ||= <val>'', write ``local $var = $var || <val>''), info());
}
+if (/\bsub\b\s*\{[^{}]*\$_(?!\[)/) {
+ warn_(q(using $_ in a sub is generally bad news), info()) if !/local\s+\$_/;
+}
+
if (/^\s*package ([\w:]+)/) {
$package = $1;
$path{$package} ||= ($ARGV =~ m|(.*/)|)[0];