summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2001-08-14 13:54:48 +0000
committerPascal Rigaux <pixel@mandriva.com>2001-08-14 13:54:48 +0000
commit28bbbdc124ce453f983af075a18beb9d0c72018d (patch)
treed6cf52e65c74152c64e0d59dc43e0b9c67a99188
parente8584c676c588ee90ac28be9b163a1b99a41f8b3 (diff)
downloadperl_checker-28bbbdc124ce453f983af075a18beb9d0c72018d.tar
perl_checker-28bbbdc124ce453f983af075a18beb9d0c72018d.tar.gz
perl_checker-28bbbdc124ce453f983af075a18beb9d0c72018d.tar.bz2
perl_checker-28bbbdc124ce453f983af075a18beb9d0c72018d.tar.xz
perl_checker-28bbbdc124ce453f983af075a18beb9d0c72018d.zip
new check: "using $_ in a sub is generally bad news"
-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];