Evitando descuidos comunes en perl
Video: 7 Descuidos más Embarazosos Ocurridos en Directo en TV
Introducción de un error tipográfico o dos durante el curso de escribir un programa Perl no es infrecuente. Pero cuando se intenta ejecutar un programa que contiene una entrada de texto desliz, Perl generalmente se confunde y se lo comunica al informar de un error. La reacción natural para la mayoría de la gente, incluso los que tienen años de experiencia en programación, es conseguir preocupado o enfadado o ambas, cuando un mensaje de error aparece.
No se asuste. Tome una respiración profunda. Tome otra respiración lenta y profunda. En serio, no se puede llegar a la raíz del problema, si estás tenso y molesto. No importa cuántos años se programa, siempre acabas encontrando algunos errores en el código que está escrito.
Así que, ahora que son (con suerte!) Un poco más tranquilo, se puede empezar a apreciar el hecho de que Perl tiene mensajes de error más votos que casi cualquier otro lenguaje de programación. Los mensajes no siempre son justo en el dinero, pero te puede conseguir bastante cerca del lugar donde radica el problema con la búsqueda de un mínimo de su parte.
Perl tiene una miríada de mensajes de error, pero unos pocos sin duda surgirán más que otros debido a algunos errores tipográficos comunes que todo el mundo parece hacer. Los siguientes errores son el resultado de pifias de entrada de texto de menor importancia que se pueden evitar fácilmente.
El olvido de un punto y coma
Probablemente el mensaje de error más común que se ve cuando se programa en Perl es como la siguiente:
Video: Dark Souls : Truco contra caídas
# Error de sintaxis, cerca de “abierta”
Archivo ‘counter1.pl`- Línea 10
# Ejecución abortado debido a errores de compilación.
Usted puede mirar y mirar a la línea 10, la que tiene la declaración abierta, y no se ve nada de malo. El truco aquí es examinar la afirmación de que viene antes de la declaración abierta y ver si se termina con un punto y coma. (Perl sabe que una declaración sólo termina cuando se encuentra con un punto y coma.) En este caso, el error se debe a que falta un punto y coma al final de la línea 7 del programa:
$ Thefile = “sample.txt”
El olvido de una comilla
El siguiente tipo de mensaje de error puede ser muy frustrante si usted no sabe de una solución rápida:
# Palabra desnudo encontró donde el operador espera, cerca
# “Abierto (INFILE, $ thefile) or die‘El’
# (Que podría ser una “cadena fuera de control multi-línea que parte de
# Línea 7)
Archivo ‘counter1.pl`- Línea 10
Este error es similar a olvidar un punto y coma en su lugar, que es un signo de comillas que se omitió accidentalmente:
$ Thefile = “sample.txt;
En este caso, Perl hizo un buen trabajo de adivinar lo que está mal, lo que sugiere que una multilínea”cadena fuera de control en la línea 7 es el problema, que es precisamente la derecha.
Entrar en una paréntesis demasiados o demasiado pocos
Cuando usted tiene un montón de apertura y cierre entre paréntesis en un programa, es fácil caer en una extra por accidente. Si ese es el caso, es posible que aparezca un mensaje de Perl que dice algo como esto:
# Error de sintaxis, cerca “) eq”
Archivo ‘counter1.pl`- Línea 38
# Error de sintaxis, cerca de “}”
Archivo ‘counter1.pl`- Línea 42
Aquí, Perl no puede determinar dónde está el error es exactamente, pero que en realidad lo hizo bien en la primera suposición: La línea 38 contiene un paréntesis derecho adicional:
si (substr ($ TheLine, $ CharPos, 1)) eq”“)
Tener un paréntesis muy pocos en un programa Perl puede causar más difíciles de encontrar problemas:
# No se puede utilizar como elemento constante arg izquierdo de -gt implícita ;,
# Cercano “1}”
Archivo ‘counter1.pl`- Línea 39
# Escalar encontró donde el operador espera, cerca de “$” CharPos
Archivo ‘counter1.pl`- Línea 40
# (Missing punto y coma en la línea anterior?)
# Error de sintaxis, cerca de “$ CharPos“
Archivo ‘counter1.pl`- Línea 40
Yarp! Todo esto se produce debido a que el último paréntesis en la línea 38 es que falta:
si (substr ($ TheLine, $ CharPos, 1) eq”“
Aquí es otra buena lección en la caza de errores de escritura: Comienza en Perl dice que encontró un error. Si usted no encuentra el error de ahí, ir a una línea o dos y ver si el problema empezó antes.
Video: Film Theory: Is Dory FAKING? (Finding Dory)
Un último consejo: Confianza Perl para encontrar los errores tipográficos simples para usted (en lo posible), y recuerda que le está dando toda la ayuda que pueda, que es más de lo que se puede decir de muchos lenguajes de programación.