in reply to Text::Balanced woes..

I'm not a Text::Balanced guru, but I believe all you need to do is specify a prefix to be skipped, otherwise searching starts at the last pos($text) and won't find your tag: my ($extracted, $remainder) = extract_tagged($text, '<B>', undef, '.*?(?=<B>)'); This should have it ignore everything up to the first <B> and then grab what you are after. You may also find it useful to print $@ which is set if something goes wrong.

--
I'd like to be able to assign to an luser