Los operadores de prueba de archivos en Perl son los operadores lógicos que devuelven valores verdaderos o falsos. Hay muchos operadores en Perl que puede usar para probar varios aspectos diferentes de un archivo. Por ejemplo, para comprobar la existencia de un archivo se utiliza el operador -e. O bien, se puede verificar si se puede escribir en un archivo antes de realizar la operación de agregar. Esto ayudará a reducir la cantidad de errores que puede encontrar un programa.
El siguiente ejemplo utiliza el operador de existencia ‘-e’ para verificar si un archivo existe o no:
#!/usr/bin/perl # Using predefined modules use warnings; use strict; # Providing path of file to a variable my $filename = 'C:\Users\GeeksForGeeks\GFG.txt'; # Checking for the file existence if(-e $filename) { # If File exists print("File $filename exists\n"); } else { # If File doesn't exists print("File $filename does not exists\n"); }
Producción:
El nombre de archivo o identificador de archivo se pasa como argumento a este operador de prueba de archivo -e.
La siguiente es una lista de los operadores de prueba de archivos más importantes:
Operador | Descripción |
---|---|
-r | comprueba si el archivo es legible |
-w | comprueba si el archivo es escribible |
-X | comprueba si el archivo es ejecutable |
-o | comprueba si el archivo es propiedad de uid efectivo |
-R | comprueba si el archivo es legible por uid real |
-W | comprueba si el archivo es escribible por uid real |
-X | comprueba si el archivo es ejecutable por real uid/gid |
-O | comprueba si el archivo es propiedad de real uid |
-mi | comprueba si el archivo existe |
-z | comprueba si el archivo está vacío |
-s | comprueba si el archivo tiene un tamaño distinto de cero (devuelve el tamaño en bytes) |
-F | comprueba si el archivo es un archivo de texto sin formato |
-d | comprueba si el archivo es un directorio |
-l | comprueba si el archivo es un enlace simbólico |
-pags | comprueba si el archivo es una tubería con nombre (FIFO): o Filehandle es una tubería |
-S | comprueba si el archivo es un socket |
-b | comprueba si el archivo es un archivo especial de bloque |
-C | comprueba si el archivo es un archivo especial de caracteres |
-t | comprueba si el identificador de archivo está abierto en un tty |
-tu | comprueba si el archivo tiene establecido el bit setuid |
-gramo | comprueba si el archivo tiene establecido el bit setgid |
-k | comprueba si el archivo tiene un bit adhesivo establecido |
-T | comprueba si el archivo es un archivo de texto ASCII (conjetura heurística) |
-B | comprueba si el archivo es un archivo «binario» (opuesto a -T) |
Puede usar el operador lógico AND junto con los operadores de prueba de archivo de la siguiente manera:
#!/usr/bin/perl # Using predefined modules use warnings; use strict; # Providing path of file to a variable my $filename = 'C:\Users\GeeksForGeeks\GFG.txt'; # Applying multiple Test Operators # on the File if(-e $filename && -f _ && -r _ ) { print("File $filename exists and readable\n"); } else { print("File $filename doesn't exists") }
Salida:
el ejemplo anterior, verifica la existencia del archivo y si el archivo es simple o no y si es legible.
Publicación traducida automáticamente
Artículo escrito por Akanksha_Rai y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA