Автоматизация объявления переменных в Perl при использовании strict
Категория: Інфармацыйныя тэхналогіі 29 Комментариев »Мне требовалось переписать мой же проект, написанный на Perl, с использованием use strict. Было лень объявлять все переменные вручную, т.к. их было чертовски много, посему я решил сей процесс автоматизировать. Это конечно не совсем правильно, однако я всё равно весь результат потом тщательно проанализировал.
Итак, предлагаю вашему вниманию мой метод автоматизации:
1. Подключаем strict:
use strict;
2. Запускаем наш скрипт и фильтруем вывод ошибок на наличие «Global symbol» записывая в отдельный файл (например, var.txt);
3. Вычленяем название переменных, убираем всё лишнее, приписываем my и убираем дубли:
% cat var.txt | awk '{print $3}' | sed s/\"//g | sed s/^/"my "/ | sed s/$/\;/ | sort | uniq
4. Получившийся вариант вставляем в код скрипта, анализируем ‘perl -c’ и мозгами.
Настоятельная рекомендация: пишите скрипты на Perl сразу с использованием strict (и warnings) дабы избегать подобных граблей