my $str = "25 {fred and barney} text 2.36 12.0 {bam bam} text {pebbles}"; print "before - $str\n"; $str =~ s/{ ([^}]+) }/{$rep}/xg; print "after - $str\n"; __output__ before - 25 {fred and barney} text 2.36 12.0 {bam bam} text {pebbles} after - 25 {between brackets} text 2.36 12.0 {between brackets} text {between brackets}