JAPH
####
#!perlenv -w
use strict;
use XML::Parser;
my $xp;
my $japh;
$xp = new XML::Parser(
Handlers => {
Start => \&start_handler,
End => \&end_handler,
Char => \&char_handler
}
);
if ( $#ARGV < 0 ) {
print "usage: blah ";
exit;
}
$xp->parsefile( $ARGV[0] );
sub start_handler {
my ( $xp, $elem ) = @_;
if ( $elem eq 'say' ) {
$japh = 1;
}
}
sub end_handler {
my ( $xp, $elem ) = @_;
if ( $elem eq 'say' ) {
$japh = 0;
}
}
sub char_handler {
my ( $xp, $str ) = @_;
if ($japh) {
$japh = $str;
print $japh . "\n";
}
}
####
if ( $string[0] =~ /xml/ ) {
foreach $string (@string) {
if ( $string =~ m// ) {
$say = $string;
}
if ( $string =~ m/(//;
$say =~ s/<\/say>//;
print $say . "\n";
$found = 1;
}
if ( $string =~ m/<\/monk>/ ) {
$say = "";
}
}
}