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
e-mail jcwren