Evitar descuidos comunes en perl

Introducción de un error tipográfico o dos durante el curso de escribir un programa Perl no es infrecuente. Pero cuando intenta ejecutar un programa que contiene una entrada de texto desliz, Perl normalmente se confunde y le dice así al reportar 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 enojado, o ambos, cuando un mensaje de error aparece.

No entre en pánico. 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 usted es (¡ojalá!) 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 están justo en el dinero, pero te puede conseguir bastante cerca del lugar donde el problema está en la búsqueda de un mínimo de su parte.

Perl ha miríada de mensajes de error, pero algunos sin duda surgirán más que otros debido a algunos errores tipográficos comunes que todo el mundo parece tener. Los siguientes errores son el resultado de pifias de entrada de texto de menor importancia que usted puede evitar fácilmente.

Olvidando un punto y coma

Probablemente el mensaje de error más común que se ve cuando se programa en Perl se ve algo como esto:

# Error de sintaxis, cerca de "abierto"
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 malo en ello. 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 Bare encuentra donde se esperaba operador, cerca
# "Abierto (INFILE, $ thefile) or die" El "
# (Podría ser un multi-línea "fuera de control" cadena a partir del
# 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 desbocado "" cadena en la línea 7 es el problema, que es precisamente la derecha.

Introducción de un paréntesis de demasiados o demasiado pocos

Cuando usted tiene un montón de apertura y cierre de paréntesis en un programa, es fácil caer uno extra en 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 exactamente, pero lo que realmente lo hizo bien en la primera conjetura: Línea 38 contiene un paréntesis adicional derecha:

si (substr ($ TheLine, $ CharPos, 1)) eq "")

Tener uno paréntesis demasiado pocos en un programa Perl puede causar más difíciles de encontrar problemas:

# No se puede utilizar como elemento constante de la izquierda arg del implícita --->,
# Cercano "1}"
Archivo 'counter1.pl'- Línea 39
# Scalar encuentra 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 faltan:

si (substr ($ TheLine, $ CharPos, 1) eq ""

Aquí hay 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 allí, subir una línea o dos y ver si el problema empezó antes.

Un último consejo: Confianza Perl para encontrar los simples errores tipográficos 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.




» » » » Evitar descuidos comunes en perl