Underc0de

Programación Scripting => Perl => Mensaje iniciado por: ProcessKill en Febrero 24, 2010, 04:30:30 PM

Título: Tutorial perl desde cero By: Black Poision & Painboy
Publicado por: ProcessKill en Febrero 24, 2010, 04:30:30 PM
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

Código (perl) [Seleccionar]
#!/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

Código (perl) [Seleccionar]

#!/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

Código (perl) [Seleccionar]
$nombredelavariable="palabra";
$nombredelavariable=numero;

ejemplo

Código (perl) [Seleccionar]
$a="Black";
$b=30;


podemos definir varias variables al mismo tiempo con parentecis por ejemplo

Código (perl) [Seleccionar]
($a,$b,$c,$d) = ("manual","by","Black", "Poison");

esto es lo mismo que poner

Código (perl) [Seleccionar]

$a = "manual";
$b = "by";
$c = "Black";
$d = "Poison";


la forma de inprimirlas en pantalla es haci

Código (perl) [Seleccionar]
#!/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

Código (perl) [Seleccionar]
<STDIN>

este comando sirve para almacenar un valor o cadena a una variable
ejemplo

Código (perl) [Seleccionar]
$a = <STDIN>;

lo que se hace con <STDIN> es  leer lo que se escribe en pantalla y asignarlo a una variable

por ejemplo

Código (perl) [Seleccionar]
#!/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 perl

los arreglos son arreglos de escalares


ejemplo

Código (perl) [Seleccionar]
@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

Código (perl) [Seleccionar]
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
Código (perl) [Seleccionar]

{
comandos

}



un bloque es un grupo de comandos dentro de un par de llaves

Código (perl) [Seleccionar]
#!/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

Código (perl) [Seleccionar]
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

Código (perl) [Seleccionar]
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 for

Código (perl) [Seleccionar]
for (expresion)
{
comando
}


Bucle While/Until By:Painboy

while (condicion) {
        Instruccion para cuando la condicion sea cierta
    }

    until (condicion) {
        instruccion para cuando la condicion sea falsa
    }

Ejemplo:

Código (perl) [Seleccionar]

#!/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:
Código (perl) [Seleccionar]

#!/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:

Código (perl) [Seleccionar]

#!/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
Título: Re:Tutorial perl desde cero By: Black Poision & Painboy
Publicado por: Black Poison en Julio 05, 2010, 05:37:53 PM
wow esto aun vive :D
Título: Re:Tutorial perl desde cero By: Black Poision & Painboy
Publicado por: blozzter en Septiembre 02, 2011, 09:43:36 PM
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í:

Código (perl) [Seleccionar]
#!/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.