In Perl, a regex is (sort of) a data type of it's own kind, and doesn't need double-quotes around it, like in PHP, to turn into a string.
So, I think it is that you need to 'escape' the 'escape char' once to parse the regex itself correctly, and then a second time to make PHP parse the string correctly.