Quelle est la meilleure façon d'ouvrir et de lire un fichier en Perl?

Veuillez noter que je ne suis pas à la recherche de la "bonne" façon d'ouvrir/lire un fichier, ou la façon dont je devrais ouvrir/lire un fichier à chaque fois. Je suis juste intéressé de savoir quelle façon la plupart des gens utilisent, et peut-être apprendre quelques nouvelles méthodes en même temps :)*

Très commun de bloc de code de mes programmes Perl est l'ouverture d'un fichier et de la lecture ou de l'écriture pour elle. J'ai vu tellement de façons de le faire, et mon style sur la réalisation de cette tâche a changé au fil des ans un certain nombre de fois. Je me demandais simplement ce que le meilleur (si il y a une meilleure façon) la méthode est de faire cela?

J'ai utilisé pour ouvrir un fichier comme ceci:

my $input_file = "/path/to/my/file";
open INPUT_FILE, "<$input_file"  || die "Can't open $input_file: $!\n";

Mais je pense qui a des problèmes avec la récupération d'erreur.

L'ajout d'une parenthèse semble corriger l'erreur de piégeage:

open (INPUT_FILE, "<$input_file")  || die "Can't open $input_file: $!\n";

Je sais que vous pouvez également attribuer un descripteur de fichier à une variable, donc au lieu d'utiliser "INPUT_FILE" comme je l'ai fait ci-dessus, j'aurais pu utiliser $input_filehandle - est de cette façon mieux?

Pour la lecture d'un fichier, si il est petit, il n'y a rien de mal avec d'expansion, comme ça?

my @array = <INPUT_FILE>;

ou

my $file_contents = join( "\n", <INPUT_FILE> );

ou devriez-vous toujours en boucle, comme ceci:

my @array;
while (<INPUT_FILE>) {
  push(@array, $_);
}

Je sais qu'il y a de nombreuses façons d'accomplir des choses en perl, je me demandais simplement si il y a des privilégiés/des méthodes standard de l'ouverture et de la lecture dans un fichier?

  • Le perlopentut de la page de manuel couvre la plupart de ce problème assez bien.
InformationsquelleAutor BrianH | 2008-11-25