#!/usr/bin/perl -w # $Id: bench_regexp_extract,v 1.2 2003/09/10 23:37:43 mrodrigu Exp $ use strict; use simple_benchmark; # to get memory size use XML::TreeBuilder; use Getopt::Long; my( $in_file); GetOptions( 'in_file=s' =>\$in_file); $in_file ||= 'test.xml'; my %action=( delete => sub { shift->delete; }, #);my%dummy=( duplicate => sub { my $process= shift; $process->preinsert( $process->clone); }, change_tag => sub { shift->tag( 'new_tag'); }, prefix => sub { my $prefix= HTML::Element->new( 'prefix'); $prefix->push_content( 'prefixed '); shift->unshift_content( $prefix); }, add_att => sub { shift->attr( new_att => "foo"); }, erase => sub { shift->replace_with_content(); }, ); my $root= XML::TreeBuilder->new(); $root->parse_file( $in_file); my $i=0; foreach my $process ($root->find_by_tag_name( 'process')) { $action{$process->attr( 'action')}->( $process) if( $action{$process->attr( 'action')}) ; } print $root->as_XML;