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 может дать вам первоначальный список. Это потому, что если имя одной и той же подпрограммы объявлено в нескольких файлах и используется где-то в вашем проекте, оно может быть замаскировано из вашего неиспользованного списка.

Другие вопросы по тегам