#!/usr/bin/perl use strict; use warnings; my $groupname = "derp"; my %replaceGroups = ( "Group.test" => "Group.$groupname", "Group.eso" => "Group.$groupname", ); my $regex = join "|", keys %replaceGroups; $regex = qr/$regex/; # both cnstrings for testing. my $cnstring = "CN=ext.Group.eso,OU=External,OU=ExDistriGroups,OU=Accounts,DC=eso,DC=local"; #my $cnstring = "CN=ext.Group.test,OU=External,OU=ExDistriGroups,OU=Accounts,DC=eso,DC=local"; $cnstring =~ s/($regex)/$replaceGroups{$1}/g; print "$cnstring\n"; #### CN=ext.Group.derp,OU=External,OU=ExDistriGroups,OU=Accounts,DC=eso,DC=local