Контроль неиспользуемых переменных в perl?
use strict;
use warnings;

таким образом, нужно будет объявлять все переменные, и при этом perl выдаст предупреждение, когда переменная упомянута в коде только один раз — это будет означать, что она объявляется и не используется.

Вообще, я в последнее время использую

use common::sense;

Макрос для хорошего набора директив.
Поиск в гугле навел на Perl::Critic