diff options
Diffstat (limited to 'eg/hdump')
-rwxr-xr-x | eg/hdump | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/eg/hdump b/eg/hdump new file mode 100755 index 0000000..2174584 --- /dev/null +++ b/eg/hdump @@ -0,0 +1,23 @@ +#!/usr/bin/perl -w + +use HTML::Parser (); +use Data::Dump (); + +sub h { + my($event, $line, $column, $text, $tagname, $attr) = @_; + + my @d = (uc(substr($event,0,1)) . " L$line C$column"); + substr($text, 40) = "..." if length($text) > 40; + push(@d, $text); + push(@d, $tagname) if defined $tagname; + push(@d, $attr) if $attr; + + print Data::Dump::dump(@d), "\n"; +} + +my $p = HTML::Parser->new(api_version => 3); +$p->handler(default => \&h, "event, line, column, text, tagname, attr"); + +$p->parse_file(@ARGV ? shift : *STDIN); + + |