Tecnología

Inicio

Cómo utilizar terminante en un script de Perl

En la programación Perl, la palabra clave "estricta" protege contra las construcciones de datos inseguros. Cambia algunos de los requisitos de los códigos e instruye al intérprete para buscar ciertas otras palabras clave. El uso de declaraciones estrictas ayuda a su programa para entender mejor sus intenciones, como si se refiere al uso de una subrutina para asignar valores a una variable pero se olvidan de definir la sub. En su programa, puede especificar estricta declaración de variables, referencias, subrutinas, o todo lo anterior. También puede activar la declaración estricta en cualquier lugar dentro del programa mediante el "uso estricto" palabras clave y apague el equipo más tarde usando el "no" palabras clave estrictas.

Instrucciones

1 Abrir un archivo de programa Perl. Escriba el siguiente código:

$ MyVar = "Algunos de valor.";

imprimir $ mivar;

Tenga en cuenta que la primera variable utiliza un capital de "V" y la segunda utiliza una pequeña "v". Este código no genera un error, pero en realidad no imprime nada en la pantalla. Dado que las variables de Perl entre mayúsculas y minúsculas, el programa piensa que estos son dos variables diferentes, el segundo de los cuales no tienen un valor. Si cambia esta segunda variable a "$ miVar", el programa imprimirá su valor en la pantalla.

2 Eliminar las líneas anteriores y escriba el código siguiente:

use strict;

$ MyVar = "Algunos de valor.";

imprimir $ miVar;

Estas líneas generan dos errores de tiempo de ejecución a pesar de que las variables tienen el mismo nombre; se utilizan dos veces. Al escribir "uso estricto" fuerzas declaración explícita de todas las variables, referencias y subrutinas.

3 Eliminar las líneas anteriores y escriba el código siguiente:

utilizar estrictas "vars";

mi $ myVar = "Algunos de valor.";

imprimir $ miVar;

La primera línea especifica que el programa sólo requiere la declaración de variables, pero no referencias o subrutinas. El "mi" palabra clave declara variables locales. El código de este ejemplo funciona exactamente como usted lo desee.

4 Eliminar las líneas anteriores y escriba el código siguiente:

use strict;

mi $ myVar = "Algunos de valor.";

imprimir $ miVar;

sin estricta "vars";

$ Myvar2 = "Algunos nuevo valor.";

imprimir $ myvar2;

La primera línea requiere declaración de variables, referencias y subrutinas. La cuarta línea se detiene el programa desde que requiera una declaración objetiva por únicas variables. Esto permite que la variable $ myvar2 para ser utilizado sin declarar.

5 Eliminar las líneas anteriores y escriba el código siguiente:

utilizar estrictas "árbitros";

$ MyVar = "Algunos de valor.";

$ Ref = "miVar";

imprimir $$ ref;

Tenga en cuenta que este ejemplo se especifica sólo para utilizar referencias estrictas, lo que significa que está bien que no declara la variable aquí. Si ha utilizado simplemente "utilizar estricto" en su lugar, se tendría que utilizar el "mi" palabra clave en la parte delantera de ambos miVar $ y $ ref declararlos. Sin embargo, la tercera línea todavía genera un error debido a que ha intentado usar $ Ref como referencia escalar.

6 Eliminar las líneas anteriores y escriba el código siguiente:

utilizar estrictas "árbitros";

$ MyVar = "Algunos de valor.";

Ref = $ \ $ miVar;

imprimir $$ ref;

La tercera línea en este ejemplo se utiliza la barra invertida para declarar la referencia a la variable $ miVar, que le permite utilizarlo sin generar un error.

7 Eliminar las líneas anteriores y escriba el código siguiente:

$ MyVar = mySub;

imprimir $ miVar;

Si "mySub" está destinado a ser un poco de subrutina que aún tiene que definir, Perl asigna "mySub" como un valor de cadena a $ miVar e imprime esa palabra a la pantalla.

8 Eliminar las líneas anteriores y escriba el código siguiente:

utilizar estricta "subs";

$ MyVar = mySub;

imprimir $ miVar;

La primera línea requiere subrutinas que se declaren. Si ha codificado "mySub" previamente en el programa, el valor de retorno de ella se asigna a $ miVar, de lo contrario se genera un error en tiempo de ejecución.