use Modern::Perl;
$_ = '
<Dataentry>
<Data>aaaaaa</Data>
<Data>aaaaaa</Data>
<Data>aaaaaa</Data>
</Dataentry>
<Dataentry>
<Data>aaaaaa</Data>
<Data>aaaaaa</Data>
<Data>aaaaaa</Data>
</Dataentry>
<Dataentry>
<Data>aaaaaa</Data>
<Data>bbbbbb</Data>
<Data>aaaaaa</Data>
</Dataentry>
<Dataentry>
<Data>aaaaaa</Data>
<Data>aaaaaa</Data>
<Data>aaaaaa</Data>
</DataEntry>';
my ($f,@l);my $d='Dataentry';sub p {
push (@l,"$_[0]\n");$f ||= $_[0]=~
m@>bbbbbb<@s;@l = '' if ($_[0]=~
m@</$d>@s);if (($_[0]=~ m@<$d>@s)&&($f))
{pop @l;say "<$d>";print reverse @l;
say "</$d>";@l = '';$f = 0;}}
p $_ for reverse split '\n';
Who do __YOU__ know that writes regex's like that?