Очистка огромной базы кода Perl

Сейчас я работаю над веб-приложением, которому около 15 лет.

Он содержит в основном CGIperl-скрипты с HTML::Templateшаблонами.

Он содержит более 12 000 файлов и примерно 260 МБ общего кода. По моим оценкам, потребуется не более 1500 сценариев Perl, и я хочу избавиться от всего неиспользуемого кода.

Для кода практически не пишутся тесты.

Мои вопросы:

  • Знаете ли вы о каком-нибудь модуле CPAN, который может помочь мне получить список только модулей used и required ?
  • Как бы вы поступили, если бы захотели избавиться от всего лишнего кода?

Я думал о следующих подходах:

  • попытаться переопределить useи requireвстроенные функции Perl на те, которые выводят имя загруженного файла в определенном месте
  • переопределить warningsи/или strictмодули importи вывести имя файла в указанное место
  • изучить Devel::Coverмодуль perl и примените тот же подход и проанализируйте код при ручном тестировании вместо автоматических тестов
  • замените исполняемый файл perl на собственный, который будет регистрировать каждое имя прочитанного файла (я не знаю, как сделайте это еще)
  • кое-какое творческое использованиеlsof(?!?)

6
задан Tudor Constantin 25 May 2012 в 13:34
поделиться