#! perl -slw use strict; my $data = do{ local $/; }; my $start = '('; my $stop = ')'; $data =~ s[((?:^|\Q$stop\E).+?(?=\Q$start\E|$))]{ my $toModify = $1; $toModify = uc $toModify; $toModify; }seg; print $data; __DATA__ The text from your OP goes here.