my $newfgcolor = "\e[38;2;" . join(';', $r, $g, $b) . "m"; ... my $newbgcolor = "\e[48;2;" . join(';', $r, $g, $b) . "m"; #### my %matches = ( qr/hello/ => 'FFFF00', qr/world/ => '00FF00', ... ); ... foreach my $rex (keys %matches) { if($input =~ $rex) { my ($r, $g, $b) = hex2rgb($matches{$key}); ... last; } }