#!/usr/bin/perl -w use strict; my %seen; while (<>) { s!$seen{$1}++!eg } my @once = sort grep { $seen{$_} == 1 } keys %seen; if (@once) { print "Possible unused variables found: \n\n", join("\n", @once), +"\n"; }
Now, that's hardly foolproof. In any reasonably complicated program it's likely to show a lot of false positives. It might also miss some cases where a variable name is used in more than one type - $foo and @foo for example. A more complicated regex could be devised to deal with that case. Worse, if a variable is declared in multiple scopes but never used then it won't be in the list.
But for your test case it works! If I put my code in use.pl and yours in foo.pl:
$ perl use.pl foo.pl Possible unused variables found: var_a
-sam
In reply to Re: Need Unused Variable Warning Msgs
by samtregar
in thread Need Unused Variable Warning Msgs
by justanyone
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |