#!/usr/bin/perl -w # $Id: bench_parser_lite_replace,v 1.2 2003/09/19 18:52:26 mrodrigu Exp $ use strict; use simple_benchmark; # to get memory size use XML::Parser::Lite; use File::Slurp; use Getopt::Long; my( $in_file); GetOptions( 'in_file=s' =>\$in_file); $in_file ||= 'test.xml'; my $xml= read_file( $in_file); my $in_message; my $message_nb; my $p = new XML::Parser::Lite( Handlers => { Char => sub { print $_[1]; }, Start => sub { shift; # get rid of the parser object my $name= shift(); my $tag= "<$name"; while( @_) { $tag .= " " . shift() . '="' . shift() . '"'; } $tag .=">"; print $tag; if( $name eq 'message') { $message_nb++; print "[message $message_nb] "; } }, End => sub { print ""; }, } ); $p->parse( $xml);