in reply to System Command using Bash Expansion
A regex-based solution:
my $string='{CAT,CAC}TGG{GTT,GTC,GTA,GTG}{CCT,CCC,CCA,CCG}'; 1 while $string =~ s/([^{\s]*){(.*?)}(\S*)/@{[map $1.$_.$3, split ',', + $2]}/; print $string; [download]