|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
Historia de PerlComo primer tema de ésta parte vamos a ver un poco de los inicios de Perl, no va a ser muy extenso pues es algo trivial; simplemente para entender un poco sus comienzos. Muy bien, antes que nada el lenguaje se llama Perl, solamente la primera P se pone en capitulares. Tradicionalmente el programa que ejecuta los scripts de Perl se llama perl, todo en minúsculas. Esto nos servirá para más adelante diferenciar entre el lenguaje y el programa. El lenguaje Perl toma su nombre de Practical Extraction and Report Language y fue ideado por Larry Wall. La primera versión sale en el año de 1987. Originalmente Larry Wall lo describe como un excelente lenguaje optimizado para leer archivos de texto, extraer información de esos archivos y crear reportes basados en esa información, combinando lo mejor de C, sed, awk y sh. Para los que conocen alguno de los lenguajes y herramientas antes mencionados, se podrán dar cuenta que la sintáxis del lenguaje es muy similar y no tendrán mucho problema en adoptarlo. Perl se considera un lenguaje interpretado, es decir, no es necesaria una previa compilación para poder ejecutarse, lo único que se necesita es darle al interprete, perl, el código que queremos que ejecute. Desde sus inicios Perl ha avanzado mucho y ahora se encuentra en la versión 5 con la versión 6 en pleno desarrollo. Cabe mencionar que Perl hoy en día es usado para una gran variedad de cosas, desde avanzados programas de seguridad hasta sencillos CGIs para administrar formularios. Uno de los fuertes de Perl es la existencia de CPAN, un directorio de módulos que podemos integrar a nuestros scripts para facilitarnos la vida.
CPAN es definitivamente uno de los íconos representativos de Perl, otros lenguajes (proyectos) han querido implementar algo similar, pero han fallado. Perl lleva a CPAN desde su nacimiento. La filosofía comunitaria de Perl ha hecho de CPAN lo que es ahora, es el centro de distribución comunitario de paquetes que ningún otro lenguaje ha tenido.
Éste es nuestro primer tema, y en él vamos a hablar de la pieza fundamental de cualquier lenguaje de programación: las variables.
¿Qué es una variable?
Una variable como bien dice su nombre es algo que puede "variar". Al nosotros hacer un script no tenemos manera de saber toda la información que vamos a tener, ya sean resultados de sumas, entradas de datos, etc. Para ello usamos las variables, para almacenar todos esos datos.
En Perl hay varios tipos de variables, y les vamos a hechar un vistazo a las mismas:
Las Escalares ($variable)
En Perl la variable básica es la escalar. Ésta variable puede contener cualquier tipo de información ya sean números, letras, cadenas de texto, signos, código ASCII, etc, así como cosas más avanzadas como referencias que veremos más adelante.
Para definir una variable escalar todo lo que tenemos que hacer es:
El símbolo $ se usa para identificar a nuestra variable, y después podemos usar el nombre que queramos. Para nombrar nuestras variables debemos de seguir algunas de reglas:
También podemos definirla primero, y después inicializarla:
Podemos asignar el valor de una variable a otra, por ejemplo:
En este momento podremos ver que cada línea de código de Perl debe de acabar con un ;
Los Arrays (@array)
Los arrays o arreglos como se les llama comúnmente en español no son exactamente vectores, más que nada se les puede definir como una lista de cosas, éstas cosas pueden ser números, letras, palabras o hasta variables. Este tipo de variable es un punto sumamente fuerte de Perl y que te verás usando más de una vez en tus scripts.
Nuestro array se define de la siguiente manera:
Como los arrays son listas de cosas, es diferente la manera en que los inicializamos:
La separación es por comas, así que no importa la cantidad de espacios que haya entre cada elemento, a continuación pongo un ejemplo:
Por lo que en nuestro array con la lista de animales, el elemento 0 sería "Perro" y el elemento 1 sería "Gato", así sucesivamente.
Para tomar algún elemento de nuestra lista debemos de usar la siguiente sintáxis:
¿Sabes cuál será el valor de nuestra variable $animal?
Si pensaste "Pez" estás en lo correcto.
Los hashes (%hash)
La variable hash o arreglo asociativo es un tipo de variable sumamente especial en Perl, ya que pocos lenguajes cuentan con variables de este tipo. El hash es un tipo de lista por medio de la cual podemos llamar a sus valores con el uso de llaves. Así dependiendo de la llave que se llame será el valor que se retorne.
Entenderemos esto más a fondo ahora que veamos unos ejemplos.
El hash se define de la siguiente manera:
Para llamar el valor de una de nuestras llaves la sintáxis es:
Ahora, que pasa si hacemos lo siguiente:
Si pensaste en "Fish" estás en lo correcto.
Muy bien, ¿por qué cuando llamamos a los valores de nuestro array o hash usamos el símbolo $ en vez del @ ó %?
La razón de esto es que si podemos ver bien, los arrays y los hashes almacenan variables escalares, entendemos como variable escalar todo aquello que sea un número, una cáracter, una cadena de texto, etc. Entonces cuando pedimos algún elemento de nuestro hash o array, estamos pidiendo un valor escalar, es por ello que usamos el
Los FILEHANDLES
Con este tipo de variable podemos hacer llamadas a archivos desde Perl. Éstas variables las conoceremos en el tutorial intermedio cuando aprendamos a leer y manipular archivos.
Los DIRHANDLES
Ésta variable se usa cuando hacemos lectura de un directorio, de igual manera lo veremos hasta el tutorial intermedio.
Los Typeglobs
Un typeglob es una entrada a la tabla de símbolos de Perl, por lo que con un typeglob podemos llamar a todos los tipos de variables de Perl.
Los operadores son instrucciones que se le da a la computadora para efectuar sobre operandos. Los operandos pueden ser desde números hasta palabras.
Perl es uno de los lenguajes que existen con más operadores, y aquí vamos a enlistar todos los que tiene. Podrás ver que los operadores son bastante intuitivos, antes de que se dé la explicación podrás saber la función que realiza el operador.
Operadores Aritméticos
Son los operadores más comúnes e incluyen suma, resta, multiplicación, exponenciación, división y módulo.
Veamos unos ejemplos prácticos del uso de estos operadores:
Un comentario es un texto al cual perl no le dá importancia y lo ignora por completo. Todos los comentarios de Perl inician con el símbolo de número o gato #.
Operadores Aritméticos Unitarios
Los operadores unitarios actúan sobre un solo operando y básicamente se usan para cambiar el signo de un valor, incrementar el valor o disminuir el valor.
Las pre-operaciones primero cambian el valor del operando y después lo retornan, por ejemplo:
Si usaramos el pre-incremento, ambas variables terminarían con lo mismo valor.
Operadores Lógicos
Los operadores lógicos normalmente los vamos a usar siempre que querramos controlar el flujo de nuestro programa, más adelante que veamos los Enunciados de Control veremos como.
Si en algún momento hemos tomado la materia de lógica en la escuela se nos será muy fácil comprender estos operadores. A continuación viene una tabla de resultados de los operadores, en la prímera columna viene el valor del operando1, en la segunda columna del operando2, y en la tercera y última columna el resultado en Verdadero o Falso.
A continuación viene el listado de cada operador junto con su breve descripción. Cabe destactar que estos operadores solamente funcionan con BITS.
op1 & op2
op1 | op2
-op1
op1 << op2
Operadores Relacionales Numéricos
Estos operadores se usan para verificar la relación que hay entre dos operadores númericos. Ya sea igualdad, mayor o menor, etc
op1 == op2
op1 != op2
op1 < op2
op1 <= op2
op1 > op2
El operador retornará verdadero si op1 es mayor a op2. Por ejemplo 6 > 5 es verdadero.
op1 >= op2
op1 <==> op2
Operadores Relacionales de Cadena
Estos operadores se usan para verificar la relación entre dos operandos de cadena, los operandos de cadena se consideran aquellos que NO son númericos.
op1 eq op2
op1 ne op2
op1 lt op2
op1 le op2
op1 gt op2
op1 ge op2
op1 cmp op2
Operador Ternario
El operador ternario es sumamente útil en Perl y realmente es una secuencia de operadores, su sintáxis es como sigue:
Este operador se podrá comprender más a fondo cuando veamos los enunciados de control en la siguiente parte del tutorial.
Operador de Rango (..)
El operador de rango nos resulta sumamente útil cuando queremos crear arrays con valores contiguos. Por ejemplo, dígamos que queremos crear un array con los números del 1 al 10, uno estaría tentado a hacerlo de la siguiente manera:
Esto resulta sumamente impráctico, y más si queremos asignar mucho más números. Pero esto es posible comprimirlo usando el operador de rango:
Pero aparte el operador es inteligente, entonces si hacemos algo así:
Ahora veamos que pasa si usamos letras:
Pongamos ahora en prueba a Perl, ¿te puedes imaginar los valores que resultarían de lo siguiente?:
Operador de Concatenación
Muchas veces no queremos sumar ni restar, o realizar ninguna operación entre dos operandos, sino que queremos "pegarlos''. Para eso tenemos el operador de concatenación.
Este operador es un simple punto . y funciona de la siguiente manera:
Operador de Repetición
Este operador lo usamos para duplicar una cadena n número de veces. El operador se define con una x, por ejemplo:
Operadores de Asignación
A través de todo el tutorial hemos estado usando el operador de asignación básico =. Ahora veremos que hay más maneras de asignar un valor a una variable.
Por ejemplo, dígamos que tenemos algo así:
Hechemos una vistazo a otro ejemplo para entender un poco más. Lo más seguro es que sepas el valor final de nuestra variable con solo verlo, pues Perl es muy intuitivo:
Si dijiste 1 estás en lo correcto.
Aquí está la lista de todos los operadores de asignación disponibles:
Muchas veces nos encontraremos usando varios operadores en una misma expresión.
Aquí va una tabla con los operadores más usados ordenados por precedencia:
Viendo la tabla ¿te podrías imaginar el resultado de la siguiente operación?:
Pero ¿qué pasa si queremos que se ejecute la suma primero? Para eso nos sirven los paréntesis que tienen la mayor precedencia:
Realmente es sencillo, solamente hay que recordar en todo momento los níveles de precedencia, y SIEMPRE que haya alguna duda, usa los paréntesis.
Así finalizamos con los operadores.
Podrán pensar que es demasiada información, pero como dije al principio, son bastante intuitivos, se terminarán acostumbrando a ellos, pues junto con las variables, esto es lo más básico de Perl.
Así termina la primera sesión del tutorial Perl Básico.
|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||