#!/usr/bin/perl use warnings; use strict; use XML::LibXML::Reader; #Reading XML with a pull parser my $file; open( $file, 'formal.xml'); my $reader = XML::LibXML::Reader->new( IO => $file ) or die ("unable to open file"); my %nums; while ($reader->nextElement( 'Data' ) ) { my $des = $reader->readOuterXml(); $reader->nextElement( 'Number' ); my $desnode = $reader->readInnerXml(); $nums{$desnode}= $des; print( " NUMBER: $desnode\n" ); print( " Datainfo: $des\n" ); }