#!/usr/bin/perl -w my $str = q~ 1970-01-01T00:00:00.000Z 1970-01-01T00:00:00.000Z 0 CC GWC2@LCSTCHVT02R E1/01/18/5@CIS01S03 14007010000532ca0d25 192.168.47.1 2944 30756 0 0 4 0 1 0 0 1970-01-01T00:00:00.000Z 1970-01-01T00:00:00.000Z 0 CC GWC1@LCSTCHVT02R N19Q01.test.cl 14007010000532ca0d25 10.100.9.27 2427 30634 0 4 9120 1 57 0 0 1970-01-01T00:00:00.000Z 1970-01-01T00:00:00.000Z 0 CC GWC2@LCSTCHVT02R E1/01/18/5@CIS01S03 14007010000532ca0d25 192.168.47.1 2944 30756 0 0 4 0 1 0 0 ~; $str =~ s/\n//g; my @fetch = ($str =~ m/ ( \ (?:.*?) (?:test)+ (?:.*?) \<\/IPDR\> ) /xgi ); print join("\n",@fetch);