foreach my $line () { my $match_queue = qr{ QUEUE # literal word 'QUEUE' \( # literal open paren (.*?) # non-greedy capture of >=0 \) # literal close paren }xms; my $match_rname = qr{ RNAME # literal word 'RNAME' \( # literal open paren (.*?) # non-greedy capture of >=0 \) # literal close paren }xms; my $match_qmname = qr{ RQMNAME # literal word 'RQMNAME' \( # literal open paren (.*?) # non-greedy capture of >=0 \) # literal close paren }xms; if ( $line =~ /AMQ8409/ ) { #if ( $line =~ /AMQ8409/ || $line =~ /\s\s\sQUEUE\(/ || $line =~ /RNAME/ ) { my ($queue) = ($line =~ $match_queue); my ($rname) = ($line =~ $match_rname); my ($qmname) = ($line =~ $match_qmname);