<?xml version="1.0" encoding="windows-1252"?>
<node id="1005487" title="Re: How to print the lines immediately above and below a matching line?" created="2012-11-25 08:23:06" updated="2012-11-25 08:23:06">
<type id="11">
note</type>
<author id="622051">
toolic</author>
<data>
<field name="doctext">
&lt;blockquote&gt;&lt;i&gt;
if ($this_line =~ /&lt;DATA&gt;/) {
&lt;/i&gt;&lt;/blockquote&gt;

Are you trying to read from the special &lt;c&gt;DATA&lt;/c&gt; handle, or are you trying to match the exact string &lt;c&gt;&lt;DATA&gt;&lt;/c&gt;?  [doc://re] indicates you are doing the latter:
&lt;c&gt;
perl -Mre=debug mycode.pl
Compiling REx "&lt;DATA&gt;"
Final program:
   1: EXACT &lt;&lt;DATA&gt;&gt; (4)
   4: END (0)
anchored "&lt;DATA&gt;" at 0 (checking anchored isall) minlen 6 
Error opening file - No such file or directory
Freeing REx: "&lt;DATA&gt;"
&lt;/c&gt;

</field>
<field name="root_node">
1005485</field>
<field name="parent_node">
1005485</field>
</data>
</node>
