<?xml version="1.0" encoding="windows-1252"?>
<node id="985103" title="Syslog files revisited" created="2012-08-02 17:34:20" updated="2012-08-02 17:34:20">
<type id="115">
perlquestion</type>
<author id="975060">
stevbutt</author>
<data>
<field name="doctext">
&lt;p&gt;I have been trying to deal with some syslog files to store them in a DB but the format has just been too variable so I had another idea how to deal with them&lt;/p&gt;

&lt;p&gt; My lines look like the following &lt;/p&gt;
&lt;code&gt;May  2 04:06:15 lon-pop.mail.mydom.com pop3login: LOGOUT, user=gonenow, ip=[::ffff:127.0.0.1], top=0, retr=0, rcvd=24, sent=5560, time=1&lt;/code&gt;
&lt;p&gt; The first three parts are pretty standard i.e. datetime( though with no year ) sysloghost, progname then the very variable message.&lt;/p&gt;

&lt;p&gt;What I would like to do is convert this to a csv line as follows where its broken into at least four parts but if the string user=gonenow appears then add gonenow ( or whatever the users name was ) as an extra field, same for ip=&lt;/p&gt;

&lt;code&gt;02/05/2012 04:06:15,lon-pop.mail.mydom.com,pop3login,"LOGOUT, user=gonenow, ip=[::ffff:127.0.0.1], top=0, retr=0, rcvd=24, sent=5560, time=1",gonenow,::ffff:127.0.0.1&lt;/code&gt;
&lt;p&gt; I dont mind either way if I end up with empty fields or no fields at the end i.e. ,, or it just ends after the end quote of the message, but I have been banging my head trying to figure this for a few days&lt;/p&gt;</field>
</data>
</node>
