|There's more than one way to do things|
The problem with interpolation is covered in the documentation for /PATTERN/msixpodualngc in Regexp Quote Like Operators.
If "'" is used as the delimiter, no variable interpolation is done.
This is not enough to solve your problem with the newline because $ is a zero width assertion. Assertions
Besides "^" and "$", Perl defines the following zero-width assertions:
In this case, it is probably best to match the newline explicitly and not use the anchor at all.
In reply to Re^3: Regex bug? matching multiple newline with /m