J'ai une question dans mon test:Qu'est-ce qui ne va pas avec le programme de compte de mots?
Quel est le problème avec le programme qui compte le nombre de lignes et de mots dans le fichier?
open F, $ARGV[0] || die $!;
my @lines = <F>;
my @words = map {split /\s/} @lines;
printf "%8d %8d\n", scalar(@lines), scalar(@words);
close(F);
Mes sont conjectures:
- Si le fichier n'existe pas, le programme ne nous dira pas à ce sujet.
S'il y a des signes de ponctuation dans le fichier, le programme va les compter, par exemple, dans
abc cba , , ,dce
sera de cinq mots, mais d'autre part
wc
émet le même résultat, il pourrait être considéré comme un comportement correct.- Si
F
est un fichier volumineux, il peut être préférable d'itérer sur les lignes et de ne pas le vider dans le tableaulines
.
Avez-vous des idées moins triviales?
Merci, je pense, problème de priorité est la réponse à cette question. – alexanderkuk
\ s est aussi une erreur en fait. – alexanderkuk