#!/usr/bin/env perl use 5.010; use strict; use warnings; my $re = qr{ user= [<"]? ( \S+? ) [>"]? ,? \s }x; while () { /$re/; say $1; } __DATA__ .... user=jtkirk, ip=[::ffff:127.0.0.1], top=0,.... .... user=, ip=[::ffff:127.0.0.1], top=0,.... .... user="jtkirk@enterprise.com" passwd="XXXXXX".... #### $ pm_log_uname_regex.pl jtkirk jtkirk@enterprise.com jtkirk@enterprise.com