• Publicidad

Expresión regular para evaluar parámetro ARGV

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Expresión regular para evaluar parámetro ARGV

Notapor mulambo » 2010-05-21 09:32 @439

Buen día a todos,

En esta oportunidad requiero de vuestra ayuda para resolver un tema que me ha dado unos pequeños problemas. Tengo la siguiente expresión regular:

$ARGV[0] !~ /\w+\\^[A-Za-z]+\.(C|c)(S|s)(V|v)/

Y quiero validar si el fichero loquesea.csv existe en la ruta especificada, por ejemplo:

C:\loquesea.csv o c:\carpeta1\carpeta2\carpeta3\loquesea.csv

He colocado esa expresión regular pero no realiza la validación,

¿Alguien podría ayudarme con ese tema?

Muchísimas gracias por vuestra acostumbrada ayuda.
mulambo
Perlero nuevo
Perlero nuevo
 
Mensajes: 22
Registrado: 2007-08-14 10:06 @462

Publicidad

Re: Expresión regular para evaluar parámetro ARGV

Notapor explorer » 2010-05-21 09:38 @443

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use 5.010;

my $fichero = 'loquesea.csv';
my $ruta    = 'C:/directorio/subdirectorio/loquesea.csv';

if ( $ruta !~ /\Q$fichero/ ) {    # \Q "escapa" el contenido de $fichero.
                                  # loquesea.csv se transforma en loquesea\.csv
    say "El fichero $fichero no se encuentra en la ruta $ruta";
}
else {
    say "Sí que está $fichero en $ruta";
}
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Expresión regular para evaluar parámetro ARGV

Notapor mulambo » 2010-05-21 09:45 @448

Gracias, explorer,

Creo que ese código no me sirve puesto que el fichero de entrada puede tomar cualquier nombre y puede estar en cualquier directorio. Lo que deseo es validar si la extensión del fichero es .CSV.
mulambo
Perlero nuevo
Perlero nuevo
 
Mensajes: 22
Registrado: 2007-08-14 10:06 @462

Re: Expresión regular para evaluar parámetro ARGV

Notapor explorer » 2010-05-21 09:48 @450

Ahora queda más clara la pregunta: quieres comprobar la extensión por si es .CSV:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use 5.010;

my $fichero = 'loquesea.csv';

if ( $fichero =~ /\.csv$/i ) {
    say "El fichero $fichero es de tipo .CSV";
}
else {
    say "El fichero $fichero no es de tipo .CSV";
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Estamos buscando por la cadena '.csv', al final de la cadena ($), e ignorando (/i) el tamaño de caja de las letras.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados