in reply to negative lookbehind question

No need for a negative look-behind.
while(<DATA>){ chomp; print; print /^[^?]*<<\w+>>/ ? " - Match\n" : " - No Match\n"; } __DATA__ http://www.google.com/?stuff=<<merge>> http://<<merge>>.place.com/?blah=blahblah

prints

http://www.google.com/?stuff=<<merge>> - No Match
http://<<merge>>.place.com/?blah=blahblah - Match