Recibo en un JSON unos parámetros de configuración para conectarme a un sftp o ftp en los cuales debo recorrer un directorio y colectar los archivos que tengan un determinado nombre. Para esto uno de los parámetros en el JSON es una regExp.
En una parte del código tengo lo siguiente:
Using perl Syntax Highlighting
- foreach my $file (@files) {
- if ( $file =~ $self->{regExp} ) {
- print "$file machea con: " . $self->{regExp} . "\n";
- $self->moveFile($file); # Función que hace un get y lo envia a un directorio local.
- }
- else { print "$file no machea con: " . $self->{regExp} . "\n" }
- }
- }
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
El tema es que $self->{regExp} puede tener cualquier tipo de regExp, por ejemplo "/mr\d+/" o incluso contener "m/mr\d+/g".
Probé varias formas y no he podido hacer que la regExp machee con el $file.
La regExp al momento de ser comprada con '=~' es un string. No sé si estoy errado o no, pero por lo que estuve investigando tendría que poder compilarla al momento de la comparación, o hacerle algún tratamiento para que la interprete como tal, pero no encuentro manera.
Espero que puedan ayudarme.
¡Gracias!