$str = "abracadabra"; my @substrings; $str =~ m/ a (.*) a (.*)(?{push @substrings, $^N}) (?!) /x; use Data::Dumper 'Dumper'; print Dumper [ @substrings ];