perl | eof – Función de fin de archivo

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 archivo

Devuelve: 1 si se alcanza EOF

Casos:

  1. 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:
  2. 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 :

  3. 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 :
    End of file

Publicación traducida automáticamente

Artículo escrito por KoushikMasavarapu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *