Muy bien, sabemos de qué debemos cuidarnos. Ahora, ¿cómo podemos marcar un valor como limpio? La respuesta corta es que no podemos. La respuesta larga es que Perl nos permite extraer información respecto a un valor por medio de las instrucciones. Esto puede hacerse a través de las variables de substitución:
$datos = <STDIN>; # Los datos vienen de fuera y están sucios
if ( $datos = /([\w\b\d]+)$/ ) { # Acepta sólo el patrón que esperamos
$datos_limpio = $1; # $1 contiene el texto que coincidió con la expresión
} else {
die ``No esperaba que me dijeras $datos'';
}
En este ejemplo, $datos sigue teniendo datos sucios. De hecho, tal vez podríamos preferir que la última línea guardara los resultados en la variable de origen.