Tutorial Perl desde 0
By: Black Poision & Painboy
(http://itknowledgeexchange.techtarget.com/overheard/files/2008/02/perl.jpg)
Perl (Practical Extraction and Report Language) es un lenguaje de programación desarrollado por Larry Wall (lwall at netlabs.com) inspirado en otras herramientas de UNIX como son: sed, grep, awk, c-shell, para la administración de tareas propias de sistemas UNIX.
No establece ninguna filosofía de programación concreta. No se puede decir que sea orientado a objetos, modular o estructurado aunque soporta directamente todos estos paradigmas; su punto fuerte son las labores de procesamiento de textos y archivos.
No es ni un compilador ni un intérprete, está en un punto intermedio, cuando mandamos a ejecutar un programa en Perl, se compila el código fuente a un código intermedio en memoria que se optimiza como si se fuera a elaborar un programa ejecutable pero es ejecutado por un motor, como si se tratase de un interprete.
Lenguaje de programación basado en scripts portable a casi cualquier plataforma. Es muy utilizado para escribir CGIs. Uno de sus elementos más potentes son las expresiones regulares, que a partir de su versión en Perl han sido adoptadas por otros lenguajes y plataformas como .NET o Javascript.
bueno pues el manual lo hago pensando que se usara windows haci que necesitaremos el active perl
bajenlo de aca
(http://img32.picoodle.com/img/img32/4/6/20/f_Download2m_6febc43.png) (http://activeperl.softonic.com/descargar)
Bueno cuando ya tengan instalado el active perl abriremos el block de notas hay es donde haremos todo nuestro code :P
como primera linea siempre pondremos
#!/usr/bin/perl
es lo que le indica al SO que trabajara con un script en perl como este lenguaje es de unix "/usr/bin/perl" es la direccion donde se encuentra el interprete "#!" esto indica que se debe usar un interprete de comandos
bueno despues de esta linea ya va nuestro code
ejemplo
#!/usr/bin/perl
print "Hola Mundo\n";
sleep(10);
print "Hola Mundo\n";
esta linea imprime hola mundo en pantalla
y
sleep(10);
hace que podamos ver hola mundo retrasando 10 segundos el programa antes de cerrarse
nota* despues de cada comando se debe poner ";"
la forma de guardarlo es
archivo> guardar como> loquequieras.pl
despues puedes ejecutarlo como cualquier otro programa
te saldra algo como esto
(http://s1.subirimagenes.com/imagen/previo/thump_1937948tuto.png)
variables ahora explicare las variables
Escalares
en este tipo podemos poner numeros o palabras
$nombredelavariable="palabra";
$nombredelavariable=numero;
ejemplo
$a="Black";
$b=30;
podemos definir varias variables al mismo tiempo con parentecis por ejemplo
($a,$b,$c,$d) = ("manual","by","Black", "Poison");
esto es lo mismo que poner
$a = "manual";
$b = "by";
$c = "Black";
$d = "Poison";
la forma de inprimirlas en pantalla es haci
#!/usr/bin/perl
($a,$b,$c,$d) = ("manual","by","Black", "Poison");
print "$a $b $c $d\n";
sleep(10);
como ven solo debemos declararlas y despues solo poner el nombre de la variable
bueno pues continuo con el tutorial :P
<STDIN>
este comando sirve para almacenar un valor o cadena a una variable
ejemplo
$a = <STDIN>;
lo que se hace con <STDIN> es leer lo que se escribe en pantalla y asignarlo a una variable
por ejemplo
#!/usr/bin/perl
print "Como te llamas?\n";
$nombre = <STDIN>;
print "Saludos $nombre \n";
sleep(10);
(http://s1.subirimagenes.com/imagen/previo/thump_1944751tuto2.png)
Arreglos en perllos arreglos son arreglos de escalares
ejemplo
@arreglo = ("Manual","By","Black","Poison","y","Painboy");
como ven los arreglos se ponen con @ al principio
y para imprimir algun escalar que este dentro de un arreglo seria haci
print "$arreglo[0]\n"
esto imprimiria manual como ven use $ en lugar de @ por que lo que quiero imprimir es un escalar
para imprimir un scalar de un arreglo
debemos poner $nombredelarreglo[numerodelscalar]
si hubiera querido poner Black seria $arreglo[2]
se empieza a contar desde cero en la pocision en la que estan los escalares dentro del arreglo
Funciones Push & Pop saca o crea elementos desde el final
Funciones Shift & Unshift Saca o crea elementos desde el principio
Bloques
{
comandos
}
un bloque es un grupo de comandos dentro de un par de llaves
#!/usr/bin/perl
#bloque1
{
print "Dentro del bloque 1\n";
sleep(10);
}
#bloque2
{
print "Dentro del Bloque2\n";
sleep(10);
}
Sentencia IF
pongo esta sentencia por que se usan bloques con ella
ejemplo
if (condision){comado o comandos que se ejecutan si la condision se cumple}
if($a==20){print "tu numero es 20\n";}
si $a es igual a 20 imprimira "tu numero es 20 en pantalla"
de lo contrario saltara if y continuara con lo que este despues
ahora usando else en la sentencia
if($a==20){print "tu numero es 20\n";} else {print "el numero no es 20\n";}
si el numero es 20 mostrara "tu numero es 20" y si el numero es diferente a 20 mostrara "el numero no es 20"
Bucle forfor (expresion)
{
comando
}
Bucle While/Until By:Painboywhile (condicion) {
Instruccion para cuando la condicion sea cierta
}
until (condicion) {
instruccion para cuando la condicion sea falsa
}
Ejemplo:
#!/usr/bin/perl
var1= "Painboy";
var2 = "Blackpoision";
while (var1 == var2)
{
print "Son lo mismo";
}
until
{
print " No son los mismos";
}
Extras By:Painboy\n = Salto de linea (1)
\t = Espacios (Tabulador) (8 espacios)
\a = Pitido (Produce un pitido en el pc)
Ejemplo:
#!/usr/bin/perl
#Salto de linea al inicio y 8 espacios para la derecha
print "\n \t By: Painboy & Black Poision";
#Un pitido y muestra mensaje para e-r00t
print "\a Para e-r00t";
Operadores logicos By: Painboy== es igual
!= No es igual
< menor que
<= Menor o igual que
> Mayor que
=> mayor o igual que
Ejemplo:
#!/usr/bin/perl
var1 = 3;
var2 = 2;
if (var1 == var2)
{
print "la variable 1 tiene el mismo valor que la variable 2";
}
else
{
print "No tienen un mismo valor las 2 variables
}
#Claramente el resultado seria No tienen un mismo valor las 2 variables.
Tutorial by: Black Poision & Painboy
el ultimo ejemplo tiene un error y el ante-penúltimo también.
especifico el ultimo: olvidan ponerle $ a las variables y olvidan también cerrar las comillas del último print.
quedaría así:
#!/usr/bin/perl
$var1 = 3;
$var2 = 2;
if ($var1 == $var2){
print "la variable 1 tiene el mismo valor que la variable 2";
}
else {
print "No tienen un mismo valor las 2 variables";
}
#Claramente el resultado seria No tienen un mismo valor las 2 variables.
es un post viejo y perdón por revivirlo, pero si es Perl desde 0 se debe tener más cuidado con esos detalles.