$foo = ':{"'; $foo =~ s/([:,{])(.)/$1 $2/g; print "'$foo'\n"; #### 1 while $foo =~ s/([:,{])([^ ])/$1 $2/g; # [^ ] is "not space" #### 1 while $foo =~ s/([:,{])([^ ]|$)/$1 $2/g;