use strict; for my $regex (qr/(.)oo(.)ar(.)az/, qr/fo(.)barba(.)/) { my $str = "foobarbaz"; $str =~ s/$regex/ my @a; for my $index (1 .. $#+) { push @a, substr($str, $-[$index], $+[$index] - $-[$index]); } join "," , @a; /e; print "$str\n"; }