my $start_delim = qr/<\!--text[se]\d{3}-->/; my $end_delim = qr/<\!--texte/; while (<$prfore>) { if (/$start_delim/) { do { $_ = <$prfore>; } while !eof and /$start_delim/; for ( ; !eof and !/$end_delim/; $_ = <$prfore>) { s/\D{5}\s+$/\n/; $linevalis .= $_; } } }