viernes, 8 de febrero de 2013

Switching en perl con 5.10

Hace tiempo de que no colocaba nada de perl en el sitio y en esta ocasion coloco algo que se usa mucho en C por ejemplo o incluso en bash,que es el switching,pero que es el switching,es por ejemplo cuando necesitamos verificar un valor, podríamos decir que es como una estructura selectiva pero que podemos usar mas rápidamente sin crear otras,por ejemplo un switching es el equivalente a un if,else y varios elsif pero en una sola estructura,si conocen C es por ejemplo esto

Enlace

Si conocen bash, es esto:


read numero

case $numero in

1)

echo "Es uno" ;;

2)

echo "Es dos" ;;

*)

echo "Es otro" ;;

Y bien ahora veamos como es en perl


Primero que nada veremos el ejemplo de como se puede usar en vez de if/else

Enlace

Ese es el algoritmo básico de selección usando estructuras selectivas,que incluso hemos visto en python,bien como se hace esto en perl fácilmente usando switching,la respuesta es given,given es una función de perl que crea un switching,lo malo es que esta en la versión 5.10 así que necesitamos añadir esto a los use o dará errores:


use v5.10.0;
Y la sintaxis es la siguiente

given($variable) {

switchers

}


En donde dice switchers yo le puse así :P,para ver que ahí van los switch's

Y la sintaxis de los switchers es la siguiente

when('comprobador') { comandos a ejecutar }


En donde dice comprobador va el texto/numero/o expresión a comprobar y en donde dice comandos a ejecutar es lo que se ejecutara cuando se encuentre el switching,si se preguntan si hay un comprobador como else,o como *) de bash si si hay y se llama default:


given($variable) {

   when('comprobador') { comandos a ejecutar }
   default { comandos a ejecutar }

}


Ahora que ya sabemos esto,vamos a hacer el algoritmo de arriba con switching:

Enlace

Y al ejecutar verán el mismo resultado que con el código de arriba


Y eso no es todo,como dije se pueden comprobar expresiones regulares y cadenas de texto

Enlace

También podemos usar listas,subrutinas y expresiones regulares como he dicho

Enlace

Eso es todo :D

No hay comentarios.:

Publicar un comentario

Los comentarios serán revisados antes de ser publicados.