Estoy teniendo ciertos problemas con expresiones regulares y el comando grep de Perl.
El caso es que en la variable $var, tengo una cierta expresión regular representando el nombre de uno o más ficheros:
Using perl Syntax Highlighting
Y en el array @ficheros, tengo el nombre de todos los ficheros con los cual estoy trabajando:
- Código: Seleccionar todo
Pepe.txt
Joselito.txt
Ejemplo_1.txt
Ejemplo_2.txt
….
Ejemplo_n.txt
Lo que me interesaría es “aplicar” la expresión regular contenida en $var y obtener de @ficheros todos aquellos que la cumplan (es decir, todos los que empiezan por Ejemplo).
He intentado lo siguiente:
Using perl Syntax Highlighting
if ( $var =~ /[\*|\+]/ )
{
# se trata de una expresión regular
if (@ReportExpansion = grep(/$var/, @ficheros))
{
push (@outputReportList, @ReportExpansion);
}
else
{
push (@outputReportList, $var);
}
}
{
# se trata de una expresión regular
if (@ReportExpansion = grep(/$var/, @ficheros))
{
push (@outputReportList, @ReportExpansion);
}
else
{
push (@outputReportList, $var);
}
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
El caso es que en @ReportExpansion, siempre obtengo un array vacío.
¿Alguien ve lo que estoy haciendo mal?
¡Muchas gracias de antemano!
¡Un cordial saludo!,
Felipe