-----Original Message----- >From: Wagner, David --- Senior Programmer Analyst --- WGO >[mailto:[EMAIL PROTECTED] >Sent: Friday, 19 August 2005 3:21 AM >To: Keenan, Greg John (Greg)** CTR **; beginners@perl.org >Subject: RE: regex - no field seperator > >Keenan, Greg John (Greg)** CTR ** wrote: >> Hi, >> >> I have the following data that I'm trying to parse into an array. >> There are 19 fields but with hosts 5 & 6 fields 6 & 7 do not have any >> space between them. This is how I get it from the OS and have no >> control over it. >> >> The maximum length for field 6 is 7 chars and field 7 is 6 chars. >> >> 200508171648 host1.dom.com 0 0 14 2166 623 8 4 12 0 0 0 35 131 14 0 0 >> 100 >> 200508171648 host2.dom.com 0 0 0 265 7563 5 3 8 0 0 0 34 66 7 0 0 100 >> 200508171648 host3.dom.com 0 0 0 461 8112 4 0 6 0 0 0 53 84 9 0 0 100 >> 200508171648 host4.dom.com 0 0 0 46 9468 5 3 9 0 0 0 39 75 8 0 2 98 >> 200508171648 host5.dom.com 0 1 0 7008342480 3 0 0 0 0 0 0 41 8 0 2 98 >> 200508171648 host6.dom.com 0 1 0 8936445548 3 0 0 0 0 0 0 14 5 0 0 100 >> >> I have tried the following, and several other combos, with no luck. >> It matches the first 4 lines but fails for the last 2 because they >> appear to have only 18 fields I assume. >> @oput = /(\d+) (.+\..+\..+) (\d+) (\d+) (\d+) (\d{2,7}) (\d{2,6}) >> (\d+) (\d+) (\d+) (\d+) (\d+) (\d+) (\d+) (\d+) (\d+) (\d+) (\d+) >> (\d+)/; >> > You are working much too hard to capture the data. Use split like: > > @oput = split (/\s+/,$_); >You say it is a total of 13 characters, but in this case you have 10 >characters. How do you identify which field is full? Once you do that >then >the ability to get it can be done. But you have to first >identify how to know out say in this case the 10 chaacters what >the proper split is?
Fields 6 & 7 could be a minimum of 2 chars or 7 & 6 chars respectively but the only time fields 6 & 7 merge is if field 7 has reached its maximum length of 6 chars. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>