in reply to Re: Concatenating lines found between two words
in thread Concatenating lines found between two words

I have a text file which I am parsing and it looks like this:
Subject: Lab Test Log #1946 Date: Thu, 1 Jun 2000 10:56:15 -0500 (CDT) From: JUDY F <judyf@elgiloy.com> To: HAMPSHIRE - KUR <hampsc@combmet.com> FAILED HV HRD. I'LL CONT. TEST @ SHERRY'S CLAY, UNLESS I HEAR FFM. YOU. THANKS JUDY ELP - HAMPSHIRE(21) 06-01-00 + 10:54:34 JUDY F TERM # 171 LAB TEST LOG - LAB #1946 P +AGE # 1 ---------------------------------------------------------------------- +---------- Date In 05-30-00 1:00pm In Initials JF Lab Test Type Final Tag # 116014 Customer In Comments RTR 10342 COIL B ---------------------------------------------------------------------- +---------- Status Non-Conforming Date Out 06-01-00 10:52am Out Initials JF Lot Code H88231C Out Comments @.0075 T 102538 Y 39121 E 70% HRD.83 HRB (*159HV1KG)7RA B 3.48 DL .25 @ S.L.PER SUS. IGA /DOES NOT MEET WARD HV HRD. ---------------------------------------------------------------------- +---------- ** ORDERS ** ---------------------------------------------------------------------- +---------- 21 12136-1 COMBINED METALS OF CHICAGO
I have been able to parse all the information that I want, but I need to get the lines that are between: Out Comments and ---- and I need to concatenate them into a string. In my code I have this...
#!/bin/perl $delimiter = ","; $i=0; while(<>) { chomp; ....(parsing of other info) ... if ($_ =~ /^Lot Code/){ @lotCode[$i] = $_; @lotCode[$i]=~ s/^Lot Code(\s+)(\w+)/$2/e; $i++; } open OUTPUT, ">>data.txt"; } for ($j=0; $j < $i; $j++) { print OUTPUT "@subject[$j];@failed[$j];@monthi[$j]/@dayi[$j]/@yeari[ +$j];@routerval[$j];" . "@tag[$j];@montho[$j]/@dayo[$j]/@yearo[$j];@lotCode[$j];@comme +ntso[$j]\n"; print "@subject[$j];@failed[$j];@monthi[$j]/@dayi[$j]/@yeari[$j];@ro +uterval[$j];" . "@tag[$j];@montho[$j]/@dayo[$j]/@yearo[$j];@lotCode[$j];@comme +ntso[$j]\n"; }
I hope these is clear enough to help me