http://qs1969.pair.com?node_id=473600

Nitrox has asked for the wisdom of the Perl Monks concerning the following question:

While trying to sort out some odd behavior in my code, I uncovered some odder behavior when running XML::Parser::Lite through the debugger.

This simple test stub runs fine without the debugger:

#!/usr/bin/perl -w use strict; use XML::Parser::Lite; my $p1 = new XML::Parser::Lite; $p1->setHandlers( Start => sub { shift; print "start: @_\n" }, Char => sub { shift; print "char: @_\n" }, End => sub { shift; print "end: @_\n" }, ); $p1->parse('<foo id="me">Hello World!</foo>');

However, when stepped through the debugger (perl -d script.pl) it dies with the error:

not properly closed tag 'foo' at /usr/local/perl/XML/Parser/Lite.pm line 116 XML::Parser::Lite::final() called at /usr/local/perl/XML/Parse +r/Lite.pm line 105 XML::Parser::Lite::parse('XML::Parser::Lite=HASH(0x848eda0)', +'<foo id="me">Hello World!</foo>') called at parse_tst.pl line 15 Debugged program terminated. Use q to quit or R to restart,
Can anyone shed some light on this?

-Nitrox