Ich versuche die POP3 Mail Statistik mit dovecot zu erweitern.
Input (mail.log): 
  Dec 24 09:56:52 home dovecot: POP3(user1@domain.tld): Disconnected: Logged out top=0, retr=13704, del=3, size=13653
Soll Output (pop3.log): 
  user=user1@domain.tld, top=0, retr=13704
Code:
$rs = sys_command("$cat $rlog|$grep -E '(courierpop3login|pop3d|dovecot).+top='|$grep -v 'ip=\\[::ffff:127.0.0.1\\]'|"
    ."$awk '/courierpop3login/ {print \$7,\$9,substr(\$10,1,length(\$10)-1);} "
    ."/dovecot/ {print substr(\$6,6,length(\$6)-7),\$10,substr(\$11,1,length(\$11)-1);} "
    ."/pop3d/ {print \$7,\$10,substr(\$11,1,length(\$11)-1);}'"
    ." 1>$pop3_log");
 
damit bekomme ich schon mal im Output:
user1@domain.tld top=0, retr=13704
Sollte aber eher so sein:
user=user1@domain.tld, top=0, retr=13704
Mit "user=" am Anfang und mit einem Komma am Ende des ersten Strings.
Für einen kleinen Tipp zu regex und perl wäre ich euch sehr dankbar.