#!/usr/bin/perl use warnings; use strict; sub replace { s/$_[0]/$_[1]/eeg; } $_ = 'a { b } c ( d ) e'; my $nobrackets = qr/[^\{^\}]+/; replace(qr/\{($nobrackets)\}/, ' leftbracket $1 rightbracket '); # I want to replace the brackets with the words leftbracket and rightbracket. print "$_\n";