|
NAMEDevel::TraceSAX - Trace SAX eventsSYNOPSIS## From the command line: perl -d:TraceSAX script.pl perl -d:TraceSAX=-dump_all script.pl ## procedural: use Devel::TraceSAX; trace_SAX $obj1; ## Emitting additional messages use Devel::TraceSAX qw( emit_trace_SAX_message ); emit_trace_SAX_message "this is a test"; DESCRIPTIONWARNING: alpha code alert!!! This module and its API subject to change, possibly radically :).Traces SAX events in a program. Works by applying Devel::TraceCalls to a tracer on the desired classes for all known SAX event types (according to XML::SAX::EventMethodMaker and XML::SAX::Machines). Emitting messages if and only if Devel::TraceCalls is loadeduse constant _tracing => defined $Devel::TraceSAX::VERSION; BEGIN { eval "use Devel::TraceCalls qw( emit_trace_SAX_message )" if _tracing; } emit_trace_SAX_message( "hi!" ) if _tracing; Using the constant "_tracing" allows expressions like emit_trace_SAX_message(...) if _tracing; to be optimized away at compile time, resulting in little or no performance penalty. TODOAdd a lot more formatting clean-up.LIMITATIONSThis module overloads CORE::GLOBAL::require when used from the command line via -d: or -M. For some reason this causes spurious warnings likeUnquoted string "fields" may clash with future reserved word at /usr/local/lib/perl5/5.6.1/base.pm line 87. That line looks like "require fields;", so it looks like the (*) prototype on our CORE::GLOBAL::require = sub (*) {...} isn't having it's desired effect. It would be nice to clean these up. AUTHORBarrie Slaymaker <barries@slaysys.com> LICENSEYou may use this under the terms of either the Artistic License or any version of the BSD or GPL licenses :).
Visit the GSP FreeBSD Man Page Interface. |