Я программировал в Perl, в течение многих лет, но только спорадически это мой основной язык. Поскольку я часто бываю месяцами без написания perl, я сильно полагаюсь на свою собачью книгу верблюдов, чтобы напомнить мне, как делать что-то. Однако, когда я копирую рецепты дословно без понимания, это беспокоит меня. Это одно из самых неприятных: на странице 154 3-го издания Camel есть пример для "модификации строк en passant, который читается следующим образом:
($lotr = $hobbit) =~ s/Bilbo/Frodo/g;
Q1), что здесь происходит? На чем, собственно, работает регулярное выражение?
Q2) Этот сверхмагический синтаксис необходим для такой базовой операции, как "взять строку из $a, изменить ее с помощью регулярного выражения, поместить результат в $b"?
Q3) Как выполнить эту операцию с использованием переменной по умолчанию цикла в качестве начальной строки?
Извините заблаговременно для мечтателей Perl, для которых это выглядит совершенно естественно.