De hecho, la primera regla de lectura de datos desde el exterior del programa es no confiar nunca en los datos que llegan desde el usuario.
Con Perl, se puede usar el par prepare/execute:
Código
my $sth = $dbh->prepare('SELECT * FROM usuarios WHERE nombre=? AND clave=?'); $sth->execute($nombre, $clave);
Además, si el nombre y/o clave cumplen alguna regla de escritura, podemos poner un filtrado previo a $nombre y $clave, y así reducir aún más la posibilidad de ataque. Por ejemplo: las claves no deben contener espacios en blanco.