Introducción a Perl
En este artículo voy a hacer una breve introducción a el lenguaje de programación Perl; además, comentaré algunas de sus características que me parecen importantes.
Perl es utilizado tanto en proyectos públicos como privados, su distribución es de código abierto y está bajo la licencia GPL, puede correr en varias plataformas, como unix/linux, Macintosh, Windows y VMS entre otras.
Perl toma las mejores características de lenguajes como c, awk, sed, sh y otros, la interfaz de bases de datos (dbi) brinda soporte para varios proveedores como Oracle, Sybase, Postgres, MySQL, etc.
Soporta dos tipos de programación, de procedimientos y orientado a objetos; además, existen más de 500 módulos hechos por terceros y disponibles a través de cpan, permitiéndole crecer sin tener que modificar su núcleo.
Perl es uno de los lenguajes de programación dinámicos más populares ( ver artículo ) debido a su gran capacidad de manipulación de texto y su rápido ciclo de desarrollo, el modulo cgi.pm que viene con la distribución estándar hace sencillo el manejo de formularios HTML, puede manejar datos Web encriptados, muy utilizados en transacciones de comercio electrónico, puede ser embebido en servidores Web para optimizar el rendimiento, así como lo hacen mod_perl con Apache.
Estas son algunas de las principales fortaleza de este excelente lenguaje de programación y próximamente estaremos escribiendo más artículos relacionados con el mundo de Perl.
Sitio oficial:
http://www.perl.org/about.html
Sitios de interés:
http://es.wikipedia.org/wiki/Perl
Leer másIntroducción a Python
Este es el primero de una serie de artículos en los que iré haciendo un breve resumen de algunos de los lenguajes de programación más utilizados hoy en día en Linux, no trato de hacer una guía muy extensa, ni abarcar todos los lenguajes existentes, es mas que nada para aquellas personas que quieren programar en Linux y no saben por donde comenzar a buscar.
Python es un lenguaje de programación orientado a objetos, dinámico y que puede ser usado para una gran variedad de proyectos de software, ofrece fuerte apoyo para la integración con otros lenguajes y herramientas, viene con muchas bibliotecas y se puede aprender en pocos días. (ver articulo por mas información)
Muchos desarrolladores informan del sustancial aumento en la productividad y las ganancias, y sienten que el lenguaje fomenta el desarrollo de mejor calidad y código más fácil de mantener.
Python funciona en Windows, Linux/Unix, Mac OS X, OS/2, Amiga, Palm Handhelds, y Nokia mobile phones. Python también ha sido portado a Java y .NET virtual machines.
Python está distribuido bajo una licencia “OSI-approved open source”, lo que implica que su uso es libre incluso para fines comerciales.
La Python Software Foundation (PSF) se encarga de mantener y proteger los derechos de propiedad intelectual, respaldar la PyCon conference, y los fondos de ganancias de otros proyectos en la comunidad Python.
Actualmente, en nuestro país, puede generarse una gran expansión de este lenguaje en los próximos años, debido a que el mismo es el principal lenguaje soportado por las computadoras XO del Plan Ceibal, que implementó recientemente el actual gobierno; los equipos fueron entregados a más de 170.000 alumnos de todo el país por lo tanto tenemos 170.000 potenciales programadores de Python.
Sitio oficial:
Más información:
http://es.wikipedia.org/wiki/Python
Leer más
Menu dinámico con PHP y CSS Drop-down menu framework
En esta oportunidad quiero presentarles el framework CSS Drop-down menu para crear menus desplegables y como podemos usarlo para generar menus en forma dinámica con PHP.
La ventaja de usar este framework es que nos evita el uso de javascript, flash u otro tipo de tecnología para crear menus. Usando CSS hacemos que nuestro sitio sea más compatible con los estándares web y por lo tanto más accsesible para navegadores y usuarios. Además, aumenta la eficiencia y velocidad del sitio ya que no se sobre carga con librerías javascript.
Otro aspecto a favor es que CSS Drop-down menu esta bajo licencia GPL por lo que podemos usarlo, contribuir y mejorar el proyecto.
Debido a que CSS Drop-down menu se basa en los tags ul y li para crear las diferentes partes del menu, es realmente útil cuando queremos generar el menu dinámicamente, es decir, cuando las opciones se cargan por ejemplo, desde una base de datos y por lo tanto lo único que tenemos que generear es código HTML puro.
Otra ventaja del framework es que nos permite cambiar el layout del menu simplemente incluyendo el archivo CSS correspondiente y cambiando la clase CSS usada en el tag ul principal; de igual forma podemos cambiar la apariencia mediante themes lo que nos provee de gran flexibilidad a la hora de ajustar los menus a nuestras necesidades.
Como punto en contra, no podemos dejar pasar el hecho de que usa un mínimo de javascript para que los menus puedan visualizarse de forma correcta en IE 6 y sus anteriores versiones.
Bueno, presentado el framework, vamos a pasar a ver un ejemplo sencillo y claro sobre como implementar el menú dinámico con PHP.
Lo primero que debemos hacer es descargar el framework CSS y descomprimirlo en nuestra carpeta de trabajo.
<ul id="nav" class="dropdown dropdown-vertical"> <?php $menu[] = array('Colores' => array('Rojo', 'Verde', 'Azul') ); $menu[] = array('Animales' => array('Perro', 'Gato', 'Conejo') ); foreach ($menu as $menu_key => $menu_item){ foreach($menu_item as $menu_name => $sub_menu){ echo "<li><a href='#'>".$menu_name."</a>"; if (isset($sub_menu)){ echo "<ul>"; foreach($sub_menu as $items){ echo "<li><a href='#'>".$items."</a>"; } echo "</ul>"; } echo "</li>"; } } ?> </ul>
Para este ejemplo, usamos un array pre cargado con las opciones del menú, pero es claro que en general serán cargadas desde otras fuentes (base de datos, archivos, etc.). La idea básica es iterar el array de acuerdo a la estructura de nuestro menú e ir generando las etiquetas ul y li .
Obviamente, la complejidad del menú depende de los requerimientos de la aplicación o del sitio que estemos desarrollando, por ejemplo se podría agregar información en el array para cada opción del menú, por ejemplo la url, la clase, etc.; sin embargo, este ejemplo abre los caminos para crear todo tipo de menus.
Más información:
http://www.lwis.net/free-css-drop-down-menu/
Campos de selección múltiple en PHP
Vamos a ver un forma simple de trabajar con campos de selección múltiple; es decir, que se puede seleccionar más de un valor a la vez. Para que quede mas claro vamos a ver un ejemplo completo, supongamos que tenemos el siguiente formulario:
index.html
1 2 3 4 5 6 7 8 9 10 11 | <form name="prueba" action="proceso_colores.php" method="POST"> Cuales son tus colores preferidos? <br> Rojo <input type="checkbox" name="color_rojo" value="rojo" /> <br> Azul <input type="checkbox" name="color_azul" value="azul" /> <br> Verde <input type="checkbox" name="color_verde" value="verde" /> <br> <input type="submit" value="Enviar" name="btn_colores" /> </form> |
Lo que vemos son 3 campos tipo checkbox llamados: color_rojo, color_azul y color_verde, típicamente recuperaríamos los valores de los campos de la siguiente forma:
proceso_colores.php
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php //recupero mediante POST $rojo = $_POST['color_rojo']; $azul = $_POST['color_azul']; $verde = $_POST['color_verde']; echo $rojo . '<br>'; echo $azul . '<br>'; echo $verde . '<br>'; //despues trabajamos con las variables normalmente... ?> |
Esto es bueno siempre que nuestros campos sean independientes, pero que sucede cuando queremos seleccionar multiples valores ? tendriamos que recuperar en nuestro código PHP todas las variables… y si el campo es cargado dinámicamente? o si los valores posibles son variables?… todo esto genera sin dudas trabajo extra, dado que tendríamos que retocar el código cada vez que algo cambie.
Por suerte, existe una forma sencilla de trabajar con este tipo de campos; ahora veremos que cambios debemos hacer en nuestros archivos .
index.html
1 2 3 4 5 6 7 8 9 10 11 | <form name="prueba" action="proceso_colores.php" method="POST"> Cuales son tus colores preferidos? <br> Rojo <input type="checkbox" name="colores[]" value="rojo" /> <br> Azul <input type="checkbox" name="colores[]" value="azul" /> <br> Verde <input type="checkbox" name="colores[]" value="verde" /> <br> <input type="submit" value="Enviar" name="btn_colores" /> </form> |
Nótese que cambiamos los nombres de los checkboxes y agregamos los paréntesis rectos [], ahora todos se llaman colores[], al hacer esto el intérprete de PHP almacena todos los valores chequeados en el array colores[] lo que nos permite hacer lo siguiente:
proceso_colores.php
1 2 3 4 5 6 | <?php $colores = $_POST['colores']; $texto_colores = implode(', ', $colores); echo ' Tus colores son favoritos son: ' . $texto_colores; ?> |
El código anterior recupera la variable colores (que ahora es un array y tiene cargados los valores chequeados); luego usamos la función implode para generar una cadena de texto y poder mostrarla.
Ahora que sabemos como trabajar con este tipo de campos, vamos a ver un ejemplo donde generamos una cadena para usarla en una sentencia SQL
proceso_colores.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $colores = $_POST['colores']; foreach($colores as $color){ $valor = "'".$color."'"; $colores_aux[] = $valor; } $valores = implode(', ', $colores_aux); $sql_valores = "(" .$valores. ")"; $sql_insert = "INSERT INTO TBL_COLORES (color) VALUES " . $sql_valores. ";"; echo $sql_insert; ?> |
Lo que hacemos es recuperar la variable e iterar sobre el array para poner en cada valor las comillas correspondientes; luego, guardamos las cadenas nuevamente en un array auxiliar y finalmente usamos la función implode para agregar las comas. La cadena generada se concatena en la sentencia INSERT y listo.
Podemos ver que es una técnica muy util ya que nos permite manejar este tipo de campos variables de forma simple. Además, hace nuestro código mas reusable ya que ahora no tenemos que cambiar nada en el caso que se agreguen mas valores.
Leer más


