Here's one way: my @woo; my $xml; foreach (@woo) { $xml .= $_, if (m/\<\?xml\s/.../\<\/Order/); }
You could also set the upper and lower bounds with scalars: my $upper = '\<\?xml\s'; my $lower = '\<\/Order'; foreach (@woo) { $xml .= $_, if (m/^$upper/.../^$lower/); jab On Fri, 21 Feb 2003, Vincent O' Keeffe wrote: > Date: Fri, 21 Feb 2003 14:16:11 -0000 > From: Vincent O' Keeffe <[EMAIL PROTECTED]> > Reply-To: Vincent O' Keeffe <[EMAIL PROTECTED]> > To: [EMAIL PROTECTED] > Subject: RegExp and XML > > Hi there, > > I'm downloading xml files from a mail server using POP3Client. I'm saving these >mails as files on a directory. I also parse out certain details from the XML file to >include in the filename. > > The only problem is that, when I grab the body of the message using POP3Client's >method, it includes mail-related information above and below the actual XML tags. > > ------=_Part_15_1895070.1044374870502 > Content-Type: text/plain > Content-Transfer-Encoding: 7bit > > <?xml version="1.0"?> > ... > > </Order> > ------=_Part_15_1895070.1044374870502-- > > > So, I need to remove everything before the opening <?xml string and, again, >everything after the closing </Order> tag. I thought about stripping out the first 4 >and last 4 lines of the file but the messages sometimes arrive clean, and sometimes >with this extra info. > > I've trawled newsgroups and the web and haven't been able to come up with any >answers. > > Does anyone have any idea of how to go about this if I assign the body to a variable >like so? > > $msgbody = $pop->Body($i) # $pop being the instantiated POP connection object > > Thanks, > Vincent > -------- Be straight and to the point. Don't waste others' time. Do your homework before you ask for help. --Unknown -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]