s(^(.+?\Q$RESET | \E)(.+)){ my $header = $1; my $comment = $2; $comment =~ s((?: (.*?) | \[ (.*?) \] | () )){ ( ( defined( $1 ) && ( GREEN . $1 ) ) || ( defined( $2 ) && ( RED . $2 ) ) || ( defined( $3 ) && ( YELLOW . $3 ) ) ) . RESET }gex; "$header$comment"; }meg;