
Envoyé par
nodules
Pour ma compréhension,
- tu ouvre le fichier files.txt que tu balance dans la variable $F1
Je ne balance pas le fichier dans $F1, mais son FileHandle
- <$F1> foreach 1 .. $old_lines_count1; je suis pas sur de comprendre ce que ça fait ... lecture ligne par ligne ? et ?
<$F1> foreach 1 .. $old_lines_count1;
<$F1> signifie : lire dans $F1 une ligne. Comme je ne fait rien de cette ligne, je ne l'affecte à aucune variable.
foreach 1 .. $old_lines_count1 est une forme syntaxique "modificative" (voir perldoc perlsyn "Statement Modifiers"). Dans le cas de foreach, elle permet d'itérer la commande précédent foreach pour autant d'élément que dans la liste suivant foreach, à savoir ici 1 .. $old_lines_count1
Quand à 1 .. $old_lines_count1, c'est l'opérateur d'étendue .. appliqué aux opérandes 1 et $old_lines_count (c'est à dire la liste des entiers compris entre 1 et $old_lines_count1). Voir perldoc perlop.
- while (my $new_line = $F1) et ça non plus ...
J'ai fait une erreur en écrivant ce code, il fallait y lire :
while (my $new_line = <$F1>) {
Avec les éléments précédent, tu devrais comprendre ce qu'elle signifie.
Partager