use strict; use warnings; use Data::Dumper; my $string_containing_needed_matches = 'XXXreYYY' x 3; my @arr = $string_containing_needed_matches =~ /XXX(re)YYY/g; print Dumper \@arr; __END__ $VAR1 = [ 're', 're', 're' ];