my $c_para = ''; while (<$INPUT_FH>) { $c_para.=$_; if ( /$end_of_para_pattern/ ) { process_paragraph($c_para); $c_para = ''; # we'll start a new paragraph next pass } }