Cambia el color del bloque de código en Knitr / Markdown

Estoy trabajando en un documento de rebajas en Rstudio que compara Perl y R. Lo que me gustaría poder hacer es tener diferentes colores de fondo de bloque de código según el idioma utilizado. Por ejemplo

Bloque de código r

```{r}
dog <- 1
cat <- 2
dog + cat
```

Bloque de codigo perl

```{r, engine='perl'}
$dog = 1;
$cat = 2;
print $dog + $cat;
```

Si genera un archivo html utilizando knitr con el código anterior, el bloque de código r tiene un fondo gris sólido, mientras que la salida del bloque de código tiene un fondo blanco / transparente.

Sin embargo, el bloque de código Perl y la salida tienen un fondo blanco / transparente que parece confuso. Mi esperanza es que haya una forma elegante de hacer esto en markdown / knitr.

Respuestas a la pregunta(3)

Su respuesta a la pregunta