in reply to Exit while loop on first match

You could use last, or at least an oppositely-named variable:
my $no_match = 1; while ($pb->... and $no_match) { # ... $no_match = 0; }

_____________________________________________________
Jeff[japhy]Pinyan: Perl, regex, and perl hacker, who'd like a (from-home) job
s++=END;++y(;-P)}y js++=;shajsj<++y(p-q)}?print:??;