On Thu, 30 Jan 2003, Rob Dixon wrote: > Date: Thu, 30 Jan 2003 16:40:13 -0000 > From: Rob Dixon <[EMAIL PROTECTED]> > To: [EMAIL PROTECTED] > Subject: Re: taking lines from a file > > Marcelo wrote: > > Hi everybody... > > How I can take lines from a file like this ... > > > > line1=A > > line2 > > line3 > > > > line1=B > > line2 > > line3 > > > > line1=A > > line2 > > line3 > > > > I want to take the followin 2 lines to the line1 when line1=A and > > write them to another file.... > > I'm not clear exactly what your file looks like, but the following will > output the two lines immediately following a line exactly matching > 'line1=A'. > > @ARGV = 'file.txt'; > > my $print; > > while (<>) { > if ($print and $print--) { print } > else { $print = 2 if /^line1=A$/ } > } > > I like that. Nice. =)
Or if there are n-number of lines below "line1=A" and each block is _only_ ever delimited by an empty line, ie: . . line3 line1=B . . ...this would work: @ARGV = 'file.txt'; my $print; while (<>) { if (m/^(line1=A\n)$/.../^\n$/) { s/$1//; print;} } jab -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]