foreach my $ss (@str_set) { local our @matches; $ss =~ m/ (XXX.*YYY) # Search and capture (?{ push @matches, $1 }) # Save result (?!) # Try again /x; print Dumper \@matches ; } #### $VAR = [ # with something ] # and then empty.... $VAR = []; $VAR = []; etc...