in reply to parsing of xml with mutiple tags

Welcome to the Monastery. Please read Writeup Formatting Tips, then update your post using code tags for your code and XML data.

Use XML::Twig:

use strict; use warnings; use XML::Twig; my $xmlStr = <<XML; <?xml version="1.0" encoding="utf-8"?> <result> <suites> <suite> <name>(Multiple_Sub_disp.xml)</name> <duration>2.0</duration> <cases> <case> <duration>2.0</duration> <className>Regression.CR0097956</className> <testName>CR0097956_Multiple_Sub_disp</testName> <skipped>false</skipped> <failedSince>10</failedSince> </case> </cases> </suite> <suite> <name>(Multiple_Sub_mod.xml)</name> <duration>12.0</duration> <cases> <case> <duration>12.0</duration> <className>Regression.CR001000</className> <testName>CR0097956_Multiple_Sub_mod</testName> <skipped>false</skipped> <failedSince>20</failedSince> </case> </cases> </suite> <suite> <name>(Single_Sub_create.xml)</name> <duration>12.0</duration> <cases> <case> <duration>12.0</duration> <className>Regression.CR002000</className> <testName>CR0097956_Single_Sub_create</testName> <skipped>false</skipped> <failedSince>10</failedSince> </case> </cases> </suite> </suites> <duration>34082.0</duration> </result> XML my $twig= XML::Twig->new( twig_handlers => { className => sub { print $_->text(), "\n" } } ); $twig->parse($xmlStr); __END__ Regression.CR0097956 Regression.CR001000 Regression.CR002000

I used XML::Tidy to neaten up your XML data.