in reply to Text::Balanced woes..
It appears that Text::Balanced does not cope with leading non-white space characters that are not balanced tag pairs.
The example below works as advertised. However, put ANY leading character or word in front of the opening <B>, and it ceases working. This doesn't seem terribly useful, unless you know you're parsing complete HTML.
Note that in a list context, a valid parsing returns 6 items. See the docs for which element is which.
#!/usr/bin/perl -w use Text::Balanced qw (extract_tagged); use strict; my $text = " <B>for</B> some trailing text"; my @a = extract_tagged ($text); print scalar (@a), "\n"; print "$_\n" for (@a); exit 0;
--Chris
In Section
Seekers of Perl Wisdom