|Perl: the Markov chain saw|
$z seems to just match any number of backticks (and $d is set to 2, although this doesn't need to happen) or any number of characters...Not exactly---$z will not match ` or `` or ``` or ```````. And it will match `xy, but not `x`y.
The i and p substitutions are important for printing, but in the grand scheme of things they're relatively unimportant. The B, C, and S items are much more important.
There's nothing special about %bind; it's just a regular hash. Feel free to declare it with my %bind at the top of the program. Running this under strict causes Perl to panic though; I don't know why.
$13 and $14 correspond to the parts of $_ matched by the ($z) expressions in the ``A($z)($z) part of the pattern; similarly $17 is the $z part from `E($z).
The really tricky part is that although it's i that sets up the $R variable for printed (as you correctly observed) there are only a few i's in $_---not nearly enough to do the job. Or so it would seem. As I said, that's the tricky part.
Well, thanks for the kind words. :)