use strict; print "1..6\n"; my $pi; my $orig; use HTML::Parser (); my $p = HTML::Parser->new(process_h => [sub { $pi = shift; $orig = shift; }, "token0,text"] ); $p->parse(""); print "not " unless $pi eq "foo" && $orig eq ""; print "ok 1\n"; $p->parse(""); print "not " unless $pi eq "" && $orig eq ""; print "ok 2\n"; $p->parse(""); print "not " unless $pi eq "\nfoo\n" && $orig eq ""; print "ok 3\n"; for (qw(< a > < ? b a r > < a >)) { $p->parse($_); } print "not " unless $pi eq "bar" && $orig eq ""; print "ok 4\n"; $p->xml_mode(1); $p->parse("bar??>"); print "not " unless $pi eq "foo>bar?" && $orig eq "bar??>"; print "ok 5\n"; $p->parse(""); print "not " unless $pi eq "" && $orig eq ""; print "ok 6\n";