# Outside the loop my %subst = ( '[' => '', ']' => '', '(' => '', ')' => '', '+' => '', '?' => '', ''' => '', '$' => '', ); my $re=join '|', map quotemeta, keys %subst; # ... # Inside the loop $channel_data =~ s/($re)/$subst{$1}/g;