$text =~ s{$subsRE}{$replacementLU{ $1 }}g; #### (?^:(?x) \b ( CONTENT_FILTERING_PROFILE_ID|QUOTA_GRANTED|ARP_VULNERABILITY|NETWORK_IDENTIFIER|ARP_PRIORITY_LEVEL|DEFAULT_BEARER_ID|EVENT_RESULT|EVENT_ID|QOS_PROFILE_ID|ARP_CAPABILITY|SYSTEM_IDENTIFIER|TRACKING_AREA_CODE|GX_RAR_RAA_TRANSACTION|SERVICE_AREA_CODE|RECORD_TYPE|RECORD_LENGTH|CHARGING_PROFILE_ID|QOS_ASSIGNED_TO_DEFAULT_BEARER|GX_CCR_CCA_TRANSACTION|RULE_REMOVED|BEARER_CONTROL_MODE|ROUTING_AREA_CODE|RULE_INSTALLED|CAUSE_PROTOCOL|SUBSCRIBERID ) \b) #### qr{(?x) \b ( keys %replacementLU ) \b}; #### @{ [ keys %replacementLU ] } #### $" = q{|}; my $subsRE = qr{(?x) \b ( @{ [ keys %replacementLU ] } ) \b}; #### my $subsRE = do { local $" = q{|}; qr{(?x) \b ( @{ [ keys %replacementLU ] } ) \b}; };