HTMLpointHTMLpoint HTMLpoint.com


 Test sui file



Después de haber hablado de los bloques, puede resultar útil introducir el concepto de "control" sobre los file. Por ejemplo, si se tiene un script del tipo:

#!/usr/bin/perl
print "Inserta el nombre del file que quieres modificar\n";
chomp($file=<STDIN>);
.....


Es probable que el ususario indique el file correctamente y que el script proceda con éxito; ¿pero y si no es así? ¿Qué pasaría si el usuario insertase como nombre del file "halo" invece di "hola"? Simplemente el script editaría un nuevo file (vacío), ¡que no es el que queríamos! Semejante inconveniente se puede superar del siguiente modo:

#!/usr/bin/perl
print "Inserta el nombre del file que quieres modificar\n";
chomp($file=<STDIN>);
if (-e $file) {
....
} else {
die "File no encontrado\n";
}


¿Qué hay de diferente a lo de antes? Aparte el bloque if/else, fijaos en ese "if (-e $file)": traduciéndolo al español podría ser "si existe $file". Por tanto, el intérprete perl primero irá a ver si dicho file existe, y si es así, procederá a su modificación. Si no existiese, se bloquearía y mostraría un mensaje (no se ha encontrado el file).
Obviamente hay otros operadores además de "-e" ; veamos los más importantes:

-z el file tiene dimensiones nulas

-s el file tiene dimensiones no nulas (restituye las dimensiones

-f el file es un file regular

-d el file es un directorio

-l el file es un link

-r el file es legible

-w el file es escribible

-x es file es ejecutable

-T el file es un file de texto

-B el file es un file binario (opposto di -B)

Sinteticemos todo con un ejemplo:

#!/usr/bin/perl
print "Inserta el nombre del file\n";
chomp($file=<STDIN>);
print "Legible\n" if -r $file;
print "Escribible\n" if -w $file;
print "Ejecutable\n" if -x $file;
print "El file tiene dimensiones nulas\n" if -z $file;
print "Es un directorio\n" if -d $file;
print "Es un link\n" if -l $file;



  Torna a inizio pagina