in reply to Re^2: request for help on working with XML::Simple
in thread request for help on working with XML::Simple

Since you are new to XML, allow me to offer a different approach, based on XML::Twig, which, in my opinion, is no more difficult to learn than XML::Simple, and will work for a wider range of XML structures:
use strict; use warnings; use XML::Twig; my $xmlStr = <<XML; <sas_residue_annotation xmlns="http://url/Schema" xmlns:xsi="http://ww +w.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://url/Sche +ma WSsas.xsd">> <sources> <source> <source_name>1iho</source_name> <ref_identity>47.20</ref_identity> <ref_overlap>282</ref_overlap> <ref_evalue>5.5e-50</ref_evalue> <ref_pmid>11377204</ref_pmid> </source> <source> <source_name>1mop</source_name> <ref_identity>43.60</ref_identity> <ref_overlap>264</ref_overlap> <ref_evalue>8.3e-38</ref_evalue> <ref_pmid>12717031</ref_pmid> </source> </sources> </sas_residue_annotation> XML my $twig= new XML::Twig( twig_handlers => { source_name => \&source_name } ); $twig->parse($xmlStr); exit; sub source_name { my ($twig, $name) = @_; print $name->text(), "\n"; } __END__ 1iho 1mop