in reply to Search/format Across Multiple Lines

Build up the current line by concatenating new bits on to it until you reach a new line. When you reach a new line spit out the previous line, then set the current line string to the time code prefix for the new line:

use strict; use warnings; my $currLine; while (<DATA>) { next if ! /^\\ TC: +(\S+) (.+)/; my ($timecode, $tail) = ($1, $2); if ($tail !~ /^÷/) { $currLine .= $tail; next; } print "$currLine\n" if defined $currLine; $currLine = "\ TC: $timecode $tail"; } print $currLine if defined $currLine; __DATA__ \ TC: 16:12:48;28 ÷1426÷1426÷142D÷142D÷1470÷1470AND W \ TC: 16:12:49;08 HI \ TC: 16:12:49;11 LE \ TC: 16:12:49;14 OVER \ TC: 16:12:49;19 T \ TC: 16:12:49;21 HE L \ TC: 16:12:49;24 AS \ TC: 16:12:49;27 T 10 \ TC: 16:12:50;07 ÷1426÷1426÷142D÷142D÷1470÷1470YEARS \ TC: 16:12:50;17 W \ TC: 16:12:50;19 E' \ TC: 16:12:50;21 VE M \ TC: 16:12:50;25 AD \ TC: 16:12:50;27 E \ TC: 16:12:51;09 MAJ \ TC: 16:12:51;13 OR \ TC: 16:12:52;22 ÷1426÷1426÷142D÷142D÷1470÷1470INVESTMENTS

Prints:

TC: 16:12:48;28 ÷1426÷1426÷142D÷142D÷1470÷1470AND WHILE OVER THE LAS +T 10 TC: 16:12:50;07 ÷1426÷1426÷142D÷142D÷1470÷1470YEARS WE'VE MADE MAJOR TC: 16:12:52;22 ÷1426÷1426÷142D÷142D÷1470÷1470INVESTMENTS
Perl is the programming world's equivalent of English