Дооснащение предупреждений и строгий жесткий. Я не рекомендую подход Большого взрыва, устанавливая предупреждения (не говоря уже об ограничениях) на все. Вы будете завалены предупреждениями до бесполезности.
Вы начинаете с того, что включаете предупреждения для модулей, используемых скриптами (они есть, не так ли?), А не применяете предупреждения ко всему. Очистите ядро, затем приступайте к работе на периферии, по одному устройству за раз. Так что, на самом деле, я бы порекомендовал иметь простой (Perl) скрипт, который просто находит строку, которая не начинается с хеша и добавляет use warnings;
(а может и use strict;
тоже), поскольку вы собираетесь иметь дело с по одному сценарию за раз), поэтому вы можете выполнять обновления по одному сценарию за раз.
Другими словами, вам, вероятно, лучше всего будет отредактировать каждый файл, так как вы собираетесь его обновить.
Я бы использовал опцию «Одеяло» только для простой оценки масштабов проблемы: это полная и полная катастрофа, или просто несколько peccadilloes в нескольких файлах. К сожалению, если код был разработан без предупреждений и строгий, он скорее будет «катастрофой», чем «минимальной».
Вы можете обнаружить, что ваши предшественники были склонны к копированию и вставке, и некоторые ошибочные идиомы неоднократно возникают в скопированном коде. Напишите Perl-скрипт, который исправит каждый из них. У меня есть несколько сценариев fix*
в моем личном каталоге bin
, которые имеют дело с различными изменениями - либо исправлением проблем, созданных непокорными (или, как правило, просто давно ушедшими) коллегами, либо с учетом моих собственных меняющихся стандартов.