#!/usr/bin/perl use warnings; use strict; sub replace { s/$_[0]/$_[1]/eeg; } $_ = 'a { b } c ( d ) e'; my $nobrackets = qr/[^{}]+/; replace(qr/\{($nobrackets)\}/, '$1'); print "$_\n";