| Автоматизация объявления переменных в Perl при использовании strict |
[исправить] |
Мне требовалось переписать мой же проект, написанный на Perl, с использованием "use strict".
Было лень объявлять все переменные вручную, т.к. их было чертовски много,
посему я решил сей процесс
автоматизировать. Это конечно не совсем правильно, однако я всё равно весь
результат потом тщательно проанализировал.
Итак, предлагаю вашему вниманию мой метод автоматизации:
1. Включаем в скрипте режим strict:
use strict;
2. Запускаем наш скрипт и фильтруем вывод ошибок на наличие "Global symbol",
записывая в отдельный файл (например, var.txt):
perl -c script.pl 2>&1 | grep "Global symbol" > var.txt
3. Отсортируем дубликаты, оставив только первое вхождение переменной:
cat var.txt| sort -k 3| uniq -w 60| sort -nk 11| less
4. Получившийся вариант анализируем мозгами и вставляем в код скрипта необходимые операторы "my".
Проверяем каждую переменную на необходимость дополнительного переопределения в
локальных блоках и функциях.
Настоятельная рекомендация: пишите скрипты на Perl сразу с использованием strict и warnings.
|
| |
|
|
| Раздел: Корень / Программисту и web-разработчику / Perl / Переменные в Perl |