$_ =<<'EOS'; 2 RISK/RETURN SUMMARY AND FUND EXPENSES PRIME MONEY MARKET FUND EOS my $pat = qr/(\n\s*[0-9]{1,3}\s*\n\s*\s*\n\s*)(.*\n)/i; s{$pat}{ my ($m1, $m2) = ($1, $2); my $num_lines = $m1 =~ tr/\n//; # Just counting lines $m1 =~ tr//!/c; # Replacing all chars with ! (for visibility; use space instead in final code) $m1 . $m2 . "\n" x $num_lines; }gie or warn "No match!\n"; print; #### !!!!!!!!!!!!RISK/RETURN SUMMARY AND FUND EXPENSES PRIME MONEY MARKET FUND