#!/usr/bin/env perl
use v5.36;
my $x = "xyzzy foo1 foo2";
my @captured;
while ($x =~ s{ \s* (foo\w) \s* }{}msxg) {
push @captured, $1;
}
say "Captured: '$_'" for @captured;
say "Left with '$x'";
####
Captured: 'foo2'
Left with 'xyzzy'
####
Captured: 'foo1'
Captured: 'foo2'
Left with 'xyzzy'