When you say "the above code doesn't work", I think you mean "I didn't get the result I expected".
in reply to Matching Newlines in RegExp
So what result did you expect, and what result did you get?
Sometimes I find it usefult to make simple "Test::More" style tests when illustrating for others that something isn't working. This means that I have a complete code sample that isolates and reproduces the issue. It also makes it clearer what results I expected compared to those I actually got. Finally, I can keep the result asan automated test script to run later to verify the quality of my software.
I think with a clearer example, more suggestions will appear about how to fix or improve your code.