Hi prasadbabu
I have to agree with zejames that regexes are not the recommended way to parse XML. Especially when XML::Simple is so easy to use (just like it says on the tin). In case you are not familiar with it, here is some sample code, to produce the output you are looking for.
#!/usr/bin/perl
use strict;
use warnings FATAL => "all";
use XML::Simple;
my $xml =
'<pages>
<contentmodel>
<level>5</level>
<first>35</first>
<content>some text</content>
</contentmodel>
<contentmodel>
<level>4</level>
<first>45</first>
<content>some text</content>
</contentmodel>
<contentmodel>
<level>3</level>
<first>25</first>
<content>maps</content>
</contentmodel>
<contentmodel>
<level>2</level>
<first>15</first>
<content>some text</content>
</contentmodel>
</pages>
';
my $ref = XMLin($xml);
for my $cm(@{$ref->{'contentmodel'}}){
printf "<first>%d</first>\n", $cm->{'first'}
if $cm->{'content'} eq 'maps'
};
__END__
output
<first>25</first>
cheers
thinker |