{ my %subs = ( '\\' => q/\\5c/, '(' => q/\\28/, ')' => q/\\29/, '&' => q/\\26/, '|' => q/\\7c/, '>' => q/\\3e/, '<' => q/\\3c/, '~' => q/\\7e/, '*' => q/\\2a/, ); my $subs_re = join '|', map quotemeta, key %subs; sub cleanLDAPString { my $tempstr = shift; $tempstr =~ s/($subs_re)/$subs{$1}/g; return $tempstr; } }