Perl – Cómo leer un archivo de texto en una variable – 6 formas de hacerlo

6 formas de leer un archivo de texto en una variable

Si está trabajando con archivos grandes, podría considerar usar File::Slurp. Es mucho más rápido que el convencional:

{
  local $/=undef;
  open FILE, "myfile" or die "Couldn't open file: $!";
  binmode FILE;
  $string = <FILE>;
  close FILE;
}

{
  local $/=undef;
  open FILE, "myfile" or die "Couldn't open file: $!";
  $string = <FILE>;
  close FILE;
}

open FILE, "myfile" or die "Couldn't open file: $!";
$string = join("", <FILE>);
close FILE;
  
open FILE, "myfile" or die "Couldn't open file: $!";
while (<FILE>){
 $string .= $_;
}
close FILE;

open( FH, "sample.txt") || die("Error: $!\n");
read(FH, $data, 2000);
close FH;

El formato de la función de lectura es:

read(filehandle, destination, size/length);

El ejemplo anterior leerá 2000 bytes en la variable escalar $data.

  my $file = 'sample.txt';
  {
    local *FH;
    -f FH and sysread FH, my $file, -s FH;
  }