On Friday, April 19, 2002, at 03:09 , Jeff 'japhy' Pinyan wrote: [..] > First, I'd use a regex trick of //g in scalar context, and /^/m. > > while (<FH>) { > next unless /^$prefix/; > $_ .= <FH> while /^$prefix/gm; > print; > }
I'm not sure I understand the 'exit' strategy here. assume the file is: bob >line1 fred line2 line3 >line4 alice we toss bob. we have $_ == >line1\n then $_ == >line1\nfred\n then $_ == >line1\nfred\nline2\n because the line is still starting with the prefix.... since we have no exit from the while, even after we have read the whole of the file, we go back and keep appending onto the $_ the EOF mark...... and never advance to the print statement... but on the flip side, while that has a logic fault the conclusion: > /^$prefix/ .. !/^$prefix/ and print while <FH>; actually works as advertised.... ciao drieux --- -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]