#!/usr/bin/perl -w # $Id: bench_twig_small_complex,v 1.1 2003/09/19 18:52:26 mrodrigu Exp $ use strict; use simple_benchmark; use XML::Twig; use Getopt::Long; my( $in_file, $print); GetOptions( 'print!' => \$print, 'in_file=s' =>\$in_file); $in_file ||= 'test.xml'; $print = 1 unless( defined $print); my $message_nb= 0; my $t= XML::Twig->new( twig_print_outside_roots => 1, twig_roots => { q{process[@action="delete"]} => sub { }, q{process[@action="duplicate"]} => sub { if( $print) { $_->print; $_->print; } }, q{process[@action="change_tag"]} => sub { $_->set_tag( 'new_tag'); $_->print if( $print); }, q{process[@action="prefix"]} => sub { $_->insert_new_elt( first_child => 'prefix', "prefixed "); $_->print if( $print); }, q{process[@action="add_att"]} => sub { $_->set_att( new_att => "foo"); $_->print if( $print); }, q{process[@action="erase"]} => sub { print $_->xml_string if( $print); }, }, ) ->parsefile( $in_file);