Perl: показать используемые подпрограммы
В каком-то проекте ( Mason) много модулей perl (> 200). На самом деле используется только 5-10% от этого кода. Как я могу посмотреть, какие подпрограммы используются (или не используются)?
2 ответа
В дополнение к ссылке choroba, вы можете использовать профилировщик, чтобы показать, как называются подпрограммы (сколько раз и сколько времени они заняли):
Подумайте, чтобы начать использовать Perl::Critic
из командной строки:
perlcritic --single-policy=UnusedPrivateSubroutines --verbose 2 ./*.pl
Вы получите список неиспользованных подпрограмм. Чтобы перечислить неиспользуемые переменные:
perlcritic --single-policy=UnusedVariables --verbose 2 /root/*.pl
Чтобы проверить весь ваш "масонский" проект на наличие неиспользуемых подпрограмм, что-то вроде
cat *.pl > all-perl-files.pl
и снова использовать percritic
на all-perl-files.pl
может дать вам первоначальный список. Это потому, что если имя одной и той же подпрограммы объявлено в нескольких файлах и используется где-то в вашем проекте, оно может быть замаскировано из вашего неиспользованного списка.