__DATA__ #### #!/usr/bin/perl -w use strict; use warnings; use vars qw/ %options /; use Getopt::Std; use XML::Rules; # How to use the script sub Usage(){ print STDERR " Usage : $0 [-arg file] arg: -i : load information from XML file \n"; exit 2; } my $opt_string = 'i:'; my $File; my %options; getopts("$opt_string", \%options ); Usage unless ( %options ); foreach ( (my $key) = (keys %options) ){ $File = $options{$key}; } Usage unless(-f $File); my @rules = ( object => sub { if( $_[1]{type} eq 'dog' ){ print join(",", @{$_[1]}{qw(dog_brd_id dog_brd_name name)}),"\n"; return; } elsif($_[1]{type} eq 'cat'){ XML::Rules->return_nothing; } }, property => sub {$_[1]->{name} => $_[1]->{value}}, ); my $xr = XML::Rules->new( rules => \@rules, stripspaces => 2 ); $xr->parsefile($File);