#!/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__ ...