in reply to Search/format Across Multiple Lines

Hello HDTVJohn, and welcome to the Monastery!

Here’s my take on your problem, a variation on GrandFather’s solution:

#! perl use strict; use warnings; use utf8; while (<DATA>) { chomp; my ($timecode, $text) = m!^\\ TC: (\d{2}:\d{2}:\d{2};\d{2}) (.*)$ +! or die "Unexpected line: '$_'"; if ($text =~ m!÷\w{4}!) { $text =~ s!^(?:÷\w{4})+(.*?)$!$1!; print "\n\\ TC: $timecode $text"; } else { print $text; } } print "\n"; __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

Output:

14:49 >perl 945_SoPW.pl \ TC: 16:12:48;28 AND WHILE OVER THE LAST 10 \ TC: 16:12:50;07 YEARS WE'VE MADE MAJOR \ TC: 16:12:52;22 INVESTMENTS 14:49 >

Hope that helps,

Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,

Replies are listed 'Best First'.
Re^2: Search/format Across Multiple Lines
by HDTVJohn (Novice) on Jul 23, 2014 at 10:52 UTC

    Wow! These responses greatly surpassed my expectations. Thank you Anonymous Monk for the hints and GrandFather and Athanasius for the clever and succinct coding for a solution.