in reply to Re^2: regular expression ignores two lines
in thread regular expression ignores two lines

Because your regex is anchored to the start and end of the string, so it'll only find a tag that's on a line by itself:

if (/^\{(.*)\}$/) { $tag = $1; print "The tag is $tag\n"; }

Your {TTL} and {LINE} tags are in the middle of the line, so they won't get picked up by the regex.

You could try something like this instead:

while (/\{(.*?)\}/g) { $tag = $1; print "The tag is $tag\n"; }

Output:

The tag is SOURCETAG The tag is DATE The tag is EDITION The tag is HEADLINE The tag is SOURCE The tag is LINE The tag is TTL