#! perl -sw use strict; use XML::Simple; use Data::Dumper; my @handlers = qw[ Init Start Char Proc Comment CdataStart CdataEnd End Final ]; for my $handler ( @handlers ) { eval "sub $handler\t{ print qq[\$handler: \@_[1 .. \$#_]\\n]; goto \&XML::Parser::Tree::$handler; }"; } my %handlers = map{ $_ => eval "\\&$_" } @handlers; my $xml = XML::Simple->new(); my $config = $xml->XMLin( \*DATA, parseropts => [ Handlers => \%handlers, ] ); #print Dumper $config; __DATA__
10.0.0.101
10.0.1.101
10.0.0.102
10.0.0.103
10.0.1.103