Comment puis-je vérifier pour les expressions du folklore en Perl?
Donc, j'ai un peu de problème figurer ce que Perl n'est dans le cas suivant:
while(1){
$inputLine=<STDIN>
#parse $inputLine below
#BUT FIRST, I need to check if $inputLine = EOF
}
avant que je reçois la réponse la plus évidente de l'aide while(<>){}
, permettez-moi de dire qu'il y a une très bonne raison que je dois faire ci-dessus (en gros, la configuration d'une alarme pour interrompre le blocage et je ne voulais pas que le code de l'encombrement de l'exemple).
Est là d'une certaine manière pour comparer $inputLine == undef
(je pense que c'est ce que STDIN retourne à la fin).
Grâce.
OriginalL'auteur intiha | 2010-02-03
Vous devez vous connecter pour publier un commentaire.
À l'intérieur de votre boucle, utilisez
De la perlfunc documentation sur
défini
:Vous êtes les bienvenus! Nous sommes là pour vous aider!
OriginalL'auteur Greg Bacon
Aussi, voir le 4 l'argument de la version de la
select
function pour une autre façon de lire à partir d'un descripteur de fichier sans blocage.OriginalL'auteur mob
Vous pouvez utiliser eof sur le descripteur de fichier. eof retourne 1 si la prochaine lecture sur le DESCRIPTEUR de fichier est un EOF.
Ah, je viens de fixation sur le eof. Sur plus de lecture, j'ai aussi remarqué qu'elle vous dit presque jamais besoin d'utiliser eof puisque vous pouvez simplement regarder pour le undef. Drôle - je sais j'ai utilisé des expressions du folklore à quelques reprises. Mais je suppose que TMTOWTDI 😉
OriginalL'auteur Vivin Paliath
Suivants ont des problèmes avec les fichiers d'entrée qui ont des lignes qui ne disposent que d'un saut de ligne ou que, dans le cas qui me donnait des problèmes un FF au début de certaines lignes (Form Feed - le fichier a été la sortie d'un programme développé à la fin des années 70 et a encore de la mise en forme pour une imprimante en ligne, et est encore en FORTRAN - je ne manquez pas la grande continu de papier pour le dessin des diagrammes de flux sur le dos).
`
La suite, c'est quand eof est très pratique - l'expression: "while ()" peut retourner false dans d'autres conditions que la fin du fichier.
Ce dernier fragment de code s'affiche à dupliquer le fichier d'entrée exactement.
OriginalL'auteur cheard