#!/usr/bin/perl use warnings; use strict; use XML::Rules; use Data::Dumper; my $xml = do { local $/; }; my $parser = XML::Rules->new( rules => [ _default => 'content', page => 'no content array', story => 'pass no content', ] ); my $data = $parser->parse($xml); print Dumper $data->{page}; __DATA__ Author 1 Keyword1 Headline1 Image1 Desc 1 Author 2 Keyword2 Headline 2 Image2 Decs 2 #### #!/usr/bin/perl use warnings; use strict; use XML::Rules; use Data::Dumper; my $xml = do { local $/; }; my $parser = XML::Rules->new( rules => [ _default => 'content trim', page => sub { print <<"*END*" "$_[1]->{headline}" by $_[1]->{author} Keywords: $_[1]->{keywords} Description: $_[1]->{description} *END* }, story => '', ] ); $parser->parse($xml); __DATA__ ...