in reply to how to reg-exp match across multiple lines?
or you could employ some logic:# read the whole file at once # XXX: updated (thanks, jmcnamara and VSarkiss) { local $/; $file = <IN>; } @titles = $file =~ /_\[\d]([^_]*)/g;
I think the first approach is easier to understand, generally.# read more lines as needed while (<IN>) { if (/_\[\d]([^_]*)_/) { push @titles, $1; } elsif (/_\[\d]([^_]*)/) { push @titles, $1; while (<IN>) { if (/([^_]*)/) { $titles[-1] .= $1 } last if /_/; } } }
_____________________________________________________
Jeff[japhy]Pinyan:
Perl,
regex,
and perl
hacker, who'd like a job (NYC-area)
s++=END;++y(;-P)}y js++=;shajsj<++y(p-q)}?print:??;
|
|---|