#!/usr/bin/perl use warnings; use strict; while() { chomp; my $servname = '[a-z0-9]+\.[a-z0-9]+\.[a-z0-9]+'; /-S.+?($servname).+-D.+?($servname).+-C.+?($servname).+$/; print "Server after -S: $1; Server after -D: $2; Server after -C: $3;\n"; } __DATA__ 18:06:04.616 79952.57692 <2> logparams: -S server1.prod.com -D server2.prod.com -C server3.prod.com -X -s 1421467204 -e 1421467204 -R E:\Program Files\725635\logs\log.tmp.chg -K -t 13 -M -k -L E:\Program Files\725635\logs\infod.tmp.log -W -f E:\Program Files\725635\logs\after.tmp 17:49:34.216 58140.81564 <2> logparams: -S -l -a -k server1.prod.com -D client10.prod.com -C sql12.prod.com -X -s 1421467205 -e 1421467205 -R E:\Program Files\561234\logs\log.tmp.chg -K -t 13 -M -k -L E:\Program Files\561234\infod10.tmp.log -W -f E:\Program Files\561234\logs\after.tmp #### Server after -S: server1.prod.com; Server after -D: server2.prod.com; Server after -C: server3.prod.com; Server after -S: server1.prod.com; Server after -D: client10.prod.com; Server after -C: sql12.prod.com;