#!/usr/bin/perl
use strict;
my $str = 'AMQ8409: Display Queue details.
QUEUE(SYSTEM.DATATYPE.REPLY.QUEUE) TYPE(QLOCAL)
ACCTQ(QMGR) ALTDATE(2016-08-01)
ALTTIME(18.33.20) BOQNAME( )
AMQ8409: Display Queue details.
QUEUE(SYSTEM.DATATYPE.REQUEST.QUEUE) TYPE(QLOCAL)
ACCTQ(QMGR) ALTDATE(2016-08-01)
ALTTIME(18.32.37) BOQNAME( )
AMQ8409: Display Queue details.
QUEUE(SYSTEM.MESSAGE.ASSOCIATION.QUEUE)
TYPE(QLOCAL) ACCTQ(QMGR)
ALTDATE(2016-08-01) ALTTIME(18.32.37)
AMQ8409: Display Queue details.
QUEUE(SYSTEM.PENDING.DATATYPE.REPLY) TYPE(QLOCAL)
ACCTQ(QMGR) ALTDATE(2016-08-01)
ALTTIME(18.33.20) BOQNAME( )';
my $regex = qr/^\s+QUEUE\(\K(?=.*DATATYPE)(?!.*REPLY)[^\)]*/mp;
if ( $str =~ /$regex/g ) {
}
IyEvdXNyL2Jpbi9wZXJsCnVzZSBzdHJpY3Q7CgpteSAkc3RyID0gJ0FNUTg0MDk6IERpc3BsYXkgUXVldWUgZGV0YWlscy4KICAgUVVFVUUoU1lTVEVNLkRBVEFUWVBFLlJFUExZLlFVRVVFKSAgICAgIFRZUEUoUUxPQ0FMKQogICBBQ0NUUShRTUdSKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUxUREFURSgyMDE2LTA4LTAxKQogICBBTFRUSU1FKDE4LjMzLjIwKSAgICAgICAgICAgICAgICAgICAgICAgQk9RTkFNRSggKQoKQU1RODQwOTogRGlzcGxheSBRdWV1ZSBkZXRhaWxzLgogICBRVUVVRShTWVNURU0uREFUQVRZUEUuUkVRVUVTVC5RVUVVRSkgICAgVFlQRShRTE9DQUwpCiAgIEFDQ1RRKFFNR1IpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTFREQVRFKDIwMTYtMDgtMDEpCiAgIEFMVFRJTUUoMTguMzIuMzcpICAgICAgICAgICAgICAgICAgICAgICBCT1FOQU1FKCApCgpBTVE4NDA5OiBEaXNwbGF5IFF1ZXVlIGRldGFpbHMuCiAgIFFVRVVFKFNZU1RFTS5NRVNTQUdFLkFTU09DSUFUSU9OLlFVRVVFKQogICBUWVBFKFFMT0NBTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUNDVFEoUU1HUikKICAgQUxUREFURSgyMDE2LTA4LTAxKSAgICAgICAgICAgICAgICAgICAgIEFMVFRJTUUoMTguMzIuMzcpCgpBTVE4NDA5OiBEaXNwbGF5IFF1ZXVlIGRldGFpbHMuCiAgIFFVRVVFKFNZU1RFTS5QRU5ESU5HLkRBVEFUWVBFLlJFUExZKSAgICAgICAgVFlQRShRTE9DQUwpCiAgIEFDQ1RRKFFNR1IpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTFREQVRFKDIwMTYtMDgtMDEpCiAgIEFMVFRJTUUoMTguMzMuMjApICAgICAgICAgICAgICAgICAgICAgICBCT1FOQU1FKCApJzsKbXkgJHJlZ2V4ID0gcXIvXlxzK1FVRVVFXChcSyg/PS4qREFUQVRZUEUpKD8hLipSRVBMWSlbXlwpXSovbXA7CgppZiAoICRzdHIgPX4gLyRyZWdleC9nICkgewogIHByaW50ICR7Xk1BVENIfTsKfQoK