Ловушки Perl
Истории-страшилки про Perl-программиста, с подсказками и разоблачениями
Главная
О блоге
Об авторах
Почему?
rss
@perltrapcom
Программист писал скрипт, который парсит описания книг из файла. Данные выглядят примерно так:
Получился вот такой код:
Все хорошо, но у некоторых книг были проблемы с авторами…
Кстати, про этого программиста есть еще история: Книжки без картинок.
У некоторых книг вместо автора проставлялись какие-то числа.
Программист добавил отладочную печать:
Результат:
Проблема в том, что переменные $1
, $2
и т.п.
не сбрасываются, если очередное сопоставление с регулярным
выражением не поймало ни одной группы.
Поэтому даже если у книги не был указан автор,
в переменной $1
все равно содержалась непустая строчка,
оставшаяся от предыдущего успешного сопоставления (в нашем случае – от поиска id книги).