in reply to HTML::TokeParser Line numbers

Because HTML::TokeParser is a HTML::Parser, you can try to add handler-subs for start/end events with an argspec of 'line'.

Something like

use HTML::TokeParser; my $line; sub lineHandler { $line = $_[0]; } my $p = HTML::TokeParser->new($ARGV[0]); $p->handler(start => \&lineHandler, 'line'); $p->handler(end => \&lineHandler, 'line'); while (my $token = $p->get_token() ) { my @tag = @{$token}; if( $tag[0] eq 'S' || $tag[0] eq 'E' ){ print "$line: $tag[@tag-1]\n" ; } }
This is completly untested and "just written" after a quick scan of the HTML-Parser documentation, but I hope it helps.

regards,
tomte


An intellectual is someone whose mind watches itself.
-- Albert Camus

Replies are listed 'Best First'.
Re^2: HTML::TokeParser Line numbers
by jithoosin (Scribe) on Nov 24, 2005 at 14:58 UTC
    Sorry.It did not work and i got error message Can't set handlers for HTML::PullParser at t1.pl line 10

      Hmm, unfortunate

      Maybe it's a viable alternative then, to look at HTML::Parser instead and use it directly to solve your problem ?

      regards,
      tomte


      An intellectual is someone whose mind watches itself.
      -- Albert Camus