I have been programming in Perl, off and on, for years now, although only sporadically is it my primary language. Because I often go months without writing any perl, I rely heavily on my dog-eared Camel Book to remind me how to do things. However, when I copy recipes verbatim with no understanding, this bothers me. This is one of the most vexing: On page 154 of the 3rd edition Camel, there is an example for "modifying strings en passant, which reads like this:
($lotr = $hobbit) =~ s/Bilbo/Frodo/g;
Q1) what is going on here? On what, exactly, is the regex operating?
Q2) Is this near-magical syntax necessary for such a basic operation as "take a string from $a, modify it with a regex, place result in $b"?
Q3) How do I do this operation using the loop default variable as the initial string?
Apologies in advance to Perl dreamers for whom the above looks perfectly natural.