Validar último carácter
Publicado: 2011-05-03 15:22 @682
Hola gente, estoy haciendo una parte de un programa donde tengo que validar un archivo, que contendrá permisos de base de datos. La lógica de la validación consistirá en:
- Validar que haya una sola sentencia por cada línea y finalice con ";"
(no pueden haber dos sentencias de grants en una misma línea)
- Validar que solo contenga "Grant insert,update,delete,references,execute,select y all" y nada más (no puede haber ningún otro tipo de grant)
- Luego de cumplir con esto se aplicarán los permisos en la base de datos previamente seleccionada.
Estoy armándolo pero no consigo encontrar una función para validar esto.
Hasta ahora tengo armado el esqueleto pero me falta.
Les agradecería mucho si me pueden orientar. ¡¡¡ Muchas gracias !!!
- Validar que haya una sola sentencia por cada línea y finalice con ";"
(no pueden haber dos sentencias de grants en una misma línea)
- Validar que solo contenga "Grant insert,update,delete,references,execute,select y all" y nada más (no puede haber ningún otro tipo de grant)
- Luego de cumplir con esto se aplicarán los permisos en la base de datos previamente seleccionada.
Estoy armándolo pero no consigo encontrar una función para validar esto.
Hasta ahora tengo armado el esqueleto pero me falta.
Les agradecería mucho si me pueden orientar. ¡¡¡ Muchas gracias !!!
Using perl Syntax Highlighting
- #!/usr/bin/perl512 -w
- use DBI;
- use DBD::DB2;
- use DBD::DB2::Constants;
- use DateTime;
- my $archivo = "/home/mihome/archivo";
- if ( -e $archivo ) {
- print "el archivo '$archivo' existe\n";
- sleep(2.5);
- system "clear";
- open( PUNTERO, $archivo );
- while ( $linea = <PUNTERO> ) {
- @data = split /;/, $linea;
- foreach my $val (@data) {
- print "$linea\n";
- }
- #} #cierre if data =="
- #@campo=split /;/ , $linea;
- #$linea=lc $linea;
- #print "$linea";
- #($campo)=split /\;+/ , $linea;
- #my $campo1=lc $campo;
- #my @arch=split /\;+/ , $archivo;
- #print "$campo1\n";
- }
- close(PUNTERO);
- }
- else {
- print "el archivo $archivo no existe\n";
- sleep(3);
- }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4