Ловушки Perl
Истории-страшилки про Perl-программиста, с подсказками и разоблачениями
Главная
О блоге
Об авторах
Почему?
rss
@perltrapcom
Что получится, если запустить этот скрипт на выполнение?
Обратите внимание на use strict
Нехорошо использовать переменные, не объявив их через my
или our
В скрипте целых 3 необъявленных переменных. Конечно же, скрипт не пройдет синтаксический анализ! Но на какой строчке компиляция сломается?
$a
и $b
– глобальные переменные, объявленные для функции sort
самим перлом.
Поскольку $a
и $b
объявлены, синтаксический анализатор пропустит их, и выдаст ошибку на $c
.
Мораль: всегда используйте прагму strict
, объявляйте все переменные
с помощью операции my
или (если очень надо) our
.
А использование переменных $a
и $b
вне функции sort
не приводит ни к чему хорошему.