Introducción
Mucho programadores se confunden con la palabra "pragma" y piensan que es algo más complicado de lo que realmente es. Los pragmas en realidad es el nombre que se le da a las directivas del compilador.
Para usar un "pragma" se debe de utilizar use que en realidad va a activar la directiva. Dentro de los 5 pragmas que tiene perl el más comunmente usado es el de "strict", directiva que vamos a ver en este tutorial.
El pragma strict
En general lo que hace la directiva sctrict es generar errores al programas en caso de que se encuentre lo que pueda considerar "programación insegura". Hay ciertos puntos que la directiva busca para llegar a este punto:
- Variables no inicializadas. (se deben de iniciar con my())
- Referencias irreales
- Palabras que no tienen comillas sin ser subrutinas o identificadores de archivos.
A continuación veremos un breve ejemplo de cada uno de los puntos
Variables no inicializadas
Cuando se tiene la directiva sctrict todas las variables deben de ser iniciadas con my.
#!/usr/bin/perl
use strict;
my $nombre = "Uriel";
print "$nombre";
El ejemplo de arriba es una variable bien inicializada, pero ahora veamos otro ejemplo, pero esta vez con algo que no se puede hacer mientras tengamos la directiva strict:
#!/usr/bin/perl
use strict;
for($i=0; $i<=5; $i++){
print "$i";
}
En este ejemplo la variable '$i' no es inicializada por lo que tendremos un error al intentar ejecutar el código.
Referencias Irreales
Las referencias irreales son en donde buscas hacer una referencia donde no hiciste una correctamente. Aquí vamos a ver un ejemplo de una referencia irreal.
#!/usr/bin/perl
use strict;
my $nombre = "Uriel";
my $ref = $nombre;
print "${$ref}\n"; #Referencia irreal
Como vemos al hacer el print se esta intentando hacer una referencia que no existe, al ejecutar el código tendremos un error, ahora veamos el ejemplo pero con el código como debe de ser:
#!/usr/bin/perl
use strict;
my $nombre = "Uriel";
my $ref = \$nombre;
print "${$ref}\n"; #Referencia real
Este código va a ejecutarse correctamente debido a que se usa una referencia real.
Palabras sin usar comillas
Cuando se usa la directiva sctric no se pueden usar variables sin comillas cuando no son subrutinas o identificadores de archivo.
Ahora veamos un par de ejemplos con esto:
$SIG{'PIPE'} = 'Plomero'; #Palabra correctamente entrecomillada
$SIG{PIPE} = 'Plomero'; #ERROR! Palabra no entrecomillada
Conclusiones
Es muy buena costumbre de programación que uses siempre la directiva strict en tus programas, pues aunque te tardes más en programas por lo menos estarás seguro que no tendras inconsistencias en tu código.