La función eof() se utiliza para comprobar si se ha llegado al final del archivo (EOF). Devuelve 1 si se alcanza EOF o si FileHandle no está abierto y no definido en todos los demás casos.
Sintaxis: eof(FileHandle)
Parámetro:
FileHandle: utilizado para abrir el archivoDevuelve: 1 si se alcanza EOF
Casos:
- eof(FileHandle) : Pasar FileHandle a la función eof(). Si el archivo está vacío, devuelve 1; de lo contrario, no está definido.
Ejemplo:#!/usr/bin/perl
# Opening Hello.txt file
open
(fh,
"<Hello.txt"
);
# Checking if File is Empty or not
if
(
eof
(fh))
# Returns 1 if file is empty
# i.e. EOF encountered at the beginning
{
print
(
"End Of File\n"
);
}
# Closing the File
close
(fh);
# Checking if File is closed or not
# using eof() function
if
(
eof
(fh))
# fh is a closed file
# and hence, eof returns 1
{
print
(
"File is closed"
);
}
Producción :
- Si Hello.txt está vacío:
- Si ex1.txt no está vacío:
- Si Hello.txt está vacío:
- eof() : El eof con paréntesis vacíos se refiere al pseudo archivo formado a partir de los archivos pasados como argumentos de línea de comando y se accede a través del operador ‘<>’. eof() comprueba el final del último archivo de todos los archivos pasados como argumentos en la línea de comandos.
Ejemplo:
#!/usr/bin/perl
# opens filehandle for files passed as arguments
while
(<>)
{
# checks for eof of the last file passed as argument
if
(
eof
())
# It returns 1 if End Of the File is reached.
{
print
"$_"
;
print
(
"\nEnd Of File Reached"
);
}
else
# prints each fileread of the File
{
print
"$_"
;
}
}
Producción :
- eof : eof sin paréntesis comprueba el final del archivo del último archivo leído.
Ejemplo:
#!/usr/bin/perl
# opening Hello.plx
if
(!
open
(fh,
"<Hello.txt"
))
{
print
(
"File Not Found"
);
exit
;
}
if
(
eof
fh)
{
print
(
"Empty File"
);
exit
;
}
# check for End Of File of last file read i.e. fh
if
(not
eof
)
# Returns 1 since eof is not reached
{
print
(
"End Of File Not Reached"
);
}
# Empty while loop to reach to the End Of File
while
(<fh>)
{ };
# check for End Of File of last file read i.e. fh
if
(
eof
)
# Returns 1 since eof is reached
{
print
(
"\nEnd Of File Reached"
);
}
Producción :
Publicación traducida automáticamente
Artículo escrito por KoushikMasavarapu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA