SilverShadow has asked for the wisdom of the Perl Monks concerning the following question:
How to pass output of "$token->as_is" to a variable in the following code to be able to strip out extra spaces before printing it on screen, also for doing other things with the output later as well.
I don't like to use extra modules to not make the code any bigger. so i prefer to use regex on the fly during the final stage.
the commented # are my retries so u can ignore it.
and I wonder why you guys output very small code font on this site, its very hard to read unless clicking on the download link which is not very comfortable to follow up on reading by keep clicking to display codes.
Thanks
use HTML::TokeParser::Simple; my $p = HTML::TokeParser::Simple->new(url => 'http://domain.com/?xxxxx +xx'); my $level; while (my $tag = $p->get_tag('div')) { my $class = $tag->get_attr('id'); next unless defined($class) and $class eq 'content'; $level += 1; while (my $token = $p->get_token) { $level += 1 if $token->is_start_tag('div'); $level -= 1 if $token->is_end_tag('div'); #$_ = s/<([\w-\:]+)>(.*?)<\/\1>/$2 /g; #print $_; next unless $token->is_text; #$cleaned = $token->as_is =~ s/\s{2,}/ /gs; # should remove ex +tra spaces #print $cleaned; print $token->as_is; unless ($level) { last; } } }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: passing token output to a variable
by frozenwithjoy (Priest) on Jan 06, 2013 at 04:50 UTC | |
by SilverShadow (Initiate) on Jan 06, 2013 at 18:50 UTC | |
by SilverShadow (Initiate) on Jan 06, 2013 at 18:59 UTC | |
Re: passing token output to a variable
by Athanasius (Archbishop) on Jan 06, 2013 at 05:41 UTC | |
by SilverShadow (Initiate) on Jan 06, 2013 at 18:47 UTC | |
by Athanasius (Archbishop) on Jan 07, 2013 at 01:52 UTC | |
Re: passing token output to a variable (parens force assignment before substitution)
by Anonymous Monk on Jan 06, 2013 at 07:57 UTC | |
by SilverShadow (Initiate) on Jan 06, 2013 at 18:51 UTC |
Back to
Seekers of Perl Wisdom