in reply to Reading chunks of text

You can use the fact that all lines of the paragraphs are indented, but the first line.
my @p; while (<DATA>) { push @p, [], if /^Window/; push @{$p[-1]}, $_; }
or maybe you want a hash and use the window handles as keys:
my %h; while (<DATA>) { $key = $1, next if /^Window ([^:]+)/; push @{$h{$key}}, $_; }


holli, /regexed monk/