Autor
|
Tema: Curso de programación en Perl (Leído 17,318 veces)
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
11.Operadores
+ Suma - Resta * Multiplicacion / Division % Modulacion & AND, a nivel de bits | OR, a nivel de bits && AND, y logico || OR logico , Separador de comas .. Operadore de rango de lista ** Exponenciacion (el valor de la izq se eleva a la potencia de la derecha) =~ Coincidencia de patrones (comprueba si los elementos son verdaderos) ?~ Coincidencia de patrones (comprueba si los elementos son falsos) << >> Operadores de esplazamiento ?and: Operador condicional "juntos" ++ Autoincremento -- Autodecremento
_____________________________________________
gt Mayor que lt Menor que eq Igual a le Menor o igual que ge Mayor o igual que ne Distinto a cmp Retorno de comparacion
_____________________________________________
> Mayor que < Menor que == Igual a " comparando es distinto a = que es asignacion " <= Menor o igual a >= Mayor o igual a != Distinto a <=> Retorno de comparacion
_____________________________________________
\a Pitido \b Retroceso \e Escape \E Acaba con \Q, \L y \U \f Salto de pagina \l El siguiente caracter estara en minuscula \L Todos los siguientes caracteres estaran en mayusculas \n Linea nueva \Q Introduce una barra inversa en trosos los caracteres siguientes no alfanumericos \r Retorno de carro \t Tabulador \u El siguiente caracter estara en mayuscula \U Todos los siguientes caracteres estaran en mayuscula \v Tabulador vertical \007 Caracter de timbre en octal \x07 Caracter de timbre en hexadecimal \cC Ctrl+C
|
|
|
En línea
|
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
12.SistemaEn este capitulo aprenderemos a trabajar con el sistema operativo. Primero, vamos a ver como mostrar los datos de la ruta donde andamos. #!/usr/bin/perl
Esto, en mi ordenador imprime El volumen de la unidad C es PRESARIO El n?mero de serie del volumen es: DC5F-B9AA
Directorio de C:\
16/05/2008 14:39 <DIR> AppServ 03/08/2008 10:40 <DIR> Archivos de programa 03/08/2008 12:44 5.384 area.pl 02/08/2008 16:36 2 AUTOEXEC.BAT 03/08/2008 19:03 34 backdoorbyerik.pl 29/11/2004 21:53 0 CONFIG.SYS 10/01/2008 22:09 <DIR> Dev-Cpp 03/08/2008 12:39 1.672 erikcgi.pl 25/06/2008 15:16 <DIR> Documents and Settings 02/08/2008 17:33 0 Exploit.pl 03/08/2008 12:39 1.672 explorar.pl 03/08/2008 12:39 0 fake.pl 21/04/2008 13:57 <DIR> Fraps 01/07/2008 15:13 20.480 KrewsCode X - Unban ID.exe 09/05/2008 23:56 <DIR> midi 07/04/2008 14:22 <DIR> My Music 06/07/2008 20:19 <DIR> NVIDIA 13/12/2007 21:26 <DIR> passwordbas 01/08/2008 12:18 <DIR> pb 30/07/2008 20:20 <DIR> Perl 12/06/2008 13:48 <DIR> Program Files 30/07/2008 19:00 41 prueba.pl 30/07/2008 20:41 <DIR> Python25 28/07/2008 23:53 407 pythong.cfg 28/07/2008 23:49 21.457 pythong.html 24/03/2008 20:38 <DIR> ruby 25/03/2008 20:31 <DIR> rubyprogram 17/09/2007 18:14 <DIR> Setup 10/10/2007 08:45 <DIR> sp3v 01/05/2008 00:18 <DIR> TCWIN 01/07/2008 01:05 <DIR> Temp 25/06/2008 15:20 <DIR> USERDATA 03/08/2008 17:40 <DIR> WINDOWS 12 archivos 51.149 bytes 21 dirs 74.581.889.024 bytes libres En el directorio C:\ Ahora, tambien podemos hacer que en vez de salir en la pantalla DOS, salga en un archivo llamado sistema.txt en tu directorio: #!/usr/bin/perl
Ahora, miraremos algunas funciones como Pause #!/usr/bin/perl print "Hola, buenos dias, que tal esta?\n";
|
|
|
En línea
|
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
13.Bucles While y For...Bien, en este capitulo, aprenderemos while y for, sentencias muy usadas, y for, una sentencia que ya hemos visto en el Mail bomber en este mismo subforo. La sintaxis de while es: while (condicion) { (sentencia que se cumple) }
Por ejemplo, un ejemplo simple de entendimiento rapidito: #!/usr/bin/perl $erik = 1; while($erik <=50) { print "Este es el mensaje numero $erik\n"; $erik++; }
Ya sabemos como va While, ahora nos vamos con Don For. Aqui vemos la sintaxis de for: for (valor de variable; condicion; expresion de control) { (sentencia) }
Y aqui el ejemplo final de for: #!/usr/bin/perl for ($erik=1;$erik<10;$erik++) { print "Este es el numero $erik"; }
Ahora, aparte de lo basico de siempre, os voy a ense?ar un par de tecnicas para el bucle for, aver si os sirve: Como nos saltamos 1 numero: #!/usr/bin/perl for ($erik=1;$erik<10;$erik++) { if ($erik==5) #Cuando llegue a 5 { next; #pasa al 6 } }
Esto haria que cuando llege al numero cinco, ese numero, no lo imprima y pase directamente del 4 al 6. Y ahora, algo que sirve para joder mucho a la gente en el sentido hack. Un bucle infinito =). #!/usr/bin/perl for(;;) { print "You are Fucked!\n"; }
|
|
|
En línea
|
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
13.1.Continuaci?n de bucles (IF & Foreach)IF, es uno de los bucles m?s usados en todos los programas, sirve para que si una condici?n es correcta o incorrecta haga una sentencia. Sintaxis: #!/usr/bin/perl if(condicion) { (sentencia) }
Aqui un ejemplo: #!/usr/bin/perl $erik = "Administrador"; if($erik == "Administrador") { print "Correcto, erik, es administrador"; }
Tambien, existe una forma de a?adir ELSE un bucle que si la primera sentencia es erronea o correcta, exponga otro resultado: Sintaxis: #!/usr/bin/perl if(condicion) { (sentencia) } else { (sentencia) }
Aqui un ejemplo real: #!/usr/bin/perl $erik = "Usuario"; if ($erik == "Administrador") { print "Correcto es administrador"; } else { print "Correcto es usuario"; }
En este ejemplo, devolveria Usuario, porque no es administrador. Y por ultimo Elseif, aqui lo veis. Sintaxis: #!/usr/bin/perl if(condicion) { (sentencia) } elseif(condicion) { (sentencia) } else { (sentencia) }
Y no hace falta un ejemplo, y si lo quereis lo pediis . FOREACH: Esta sentencia es parecida a FOR, pero esta se utiliza para los arrays: #!/usr/bin/perl @admins = ("Erik", "Eriks", "Otros..."); print "Los admins son: "; foreach $admins (@admins) { }
Para hacer un ordenado alfabetico hariamos la sentencia sort: #!/usr/bin/perl @admins = ("Eriks", "Erik", "Otros..."); print "Los admins son: "; foreach $admins (sort @admins) { }
O usar reverse que seria el contraria de sort . Gracias, aqui acaban los bucles, proxima lecci?n veremos las subrutinas .
|
|
|
En línea
|
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
14.SubrutinasLas subrutinas es un trozo de código que se puede llamar en cualquier y momento, y que es necesario que este en uso para poder complementar un código perl por funciones. Os lo explicare con mis propias palabras, en un codigo que se puede llamar cuando lo necesites. Aqui la sintaxis: #!/usr/bin/perl sub nombre_de_la_subrutina { (sentencia) }
Y para llamarlas usaremos el caracter &, por ejemplo #!/usr/bin/perl sub erik { } &erik;
O tambien la podemos llamar mediante el: #!/usr/bin/perl sub erik { } erik();
mi_subrutina();
|
|
|
En línea
|
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
15.Hexadecimal a BinarioEn esta lección, aprenderemos como pasar una cifra hexadecimal a binario. #!/usr/bin/perl
Esto pasaria el numero 191 hexadecimal a un numero binario, esto imprimiria:0000000000110001001110010011000100001010 Aqui tenemos un programilla codeado para el cursillo, es un pasador de hexadecimales a binarios: #!/usr/bin/perl print "Introduce el numero hexadecimal que deseas pasar a binario:"; $binn = <STDIN>; print "El numero binario es: $binario\n";
Pero no os olvideis que esto seria descendente, para hacerlo ascendente, solo hace falta poner la funcion B* en minuscula: b* y listo. #!/usr/bin/perl print "Introduce b* si deseas binario ascendente, introduce B* si deseas binario descendente:"; $bin = <STDIN>; print "Introduce el numero hexadecimal que deseas pasar a binario:"; $binn = <STDIN>; print "El numero binario es: $binario\n";
Aqui le hemos añadido que se pueda elegir B* o b* . Final de esta lección.
|
|
|
En línea
|
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
16.Variables locales y globales Definici?n de perl.org:Por defecto todas las variables estan definidas de forma global, es decir se puede acceder a ellas desde cualquier punto de un programa, pero es po- sible que queramos que solo afecte a un trozo de codigo, para ello usare- mos la clave "local" que localiza una variable dentro de un trozo de codi- go y "my" que se suele usar mas y es mas recomendable, sirve para decla- rar variables en un trozo de codigo como puede ser una subrutina #!/usr/bin/perl sub erik { my $nombre = "erik"; print "Admin: $nombre\n"; } my $admin = "Admin"; &erik;
|
|
|
En línea
|
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
17.SwitchSwitch es muy utilizado para crear men?s y poder hacer elecciones: #!/usr/bin/perl use Switch; $variable = <valor>; switch ($variable) { case 1 { print "<menu>" } case 2 { print "<menu>" } case 3 { print "<menu>" } case 4 { print "<menu>" } }
|
|
|
En línea
|
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
18.Begin End & GotoPodemos hacer que se ejecute algo al principio de todo teniendo prioridad ante los demas, y todo gracias a BEGIN y con END podemos tener el mismo resultado pero en este caso se ejecutara al final. Por ejemplo: #!/usr/bin/perl
Esto si no tubieras el begin y el end mostraria: 2 1 4 3 Pero gracias al begin y end muestra: 1 2 3 4 Y luego GOTO, que es una sentencia que lo que hace es ir hacia una parte del código que ya ha sido repetida o que esta en el final, o donde queramos, sintaxis: #!/usr/bin/perl Inicio: print "Volvemos al inicio";
Esto imprimiria Volvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicioVolvemos al inicio Infinitas de veces hasta que el PCLI se petara (Perl Command Line Interpreter).
|
|
|
En línea
|
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
19.Sleep, Ignore & AlarmEstas tres funciones pertenecen a las funciones denominadas "timer" (denominado por mi ). Sleep, lo que hace es parar el proceso el tiempo que desees, por ejemplo: #!/usr/bin/perl print "De aqui 10 segundos te dire la contraseña"; print "Despues de estos 10 segundos la contraseña a sido codificada: 10010010100101101010010101001010010101
Luego esta ignore, lo que hace es ignorar las alarmas o alguna función, nosotros la pondremos con alarm: #!/usr/bin/perl { $war{ALRM } = sub { die "Fallaste"}; print "Escribe la contraseña antes de 5 segungos:\n"; $war{ALRM} = 'IGNORE'; print "Como hemos usado ignore, puedes tomarte el tiempo que necesites\n"; $pass = <STDIN>; }; if ($@ =~ /Fallaste/){ }
y ahora alarm, lo que hace es que si en ese "x" tiempo no haces la funcion te salta. #!/usr/bin/perl { $war{ALRM } = sub { die "Fallaste"}; print "Escribe la contraseña antes de 5 segungos:\n"; $pass = <STDIN>; }; if ($@ =~ /Fallaste/){ } else { print "Contraseña correcta";
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
C/c++ curso de programacion (2ª edic)(+ CD-rom), falta CD
Programación C/C++
|
modo_senin
|
3
|
4,924
|
30 Diciembre 2011, 16:50 pm
por 3mp3z@ndo
|
|
|
Curso de Programación de aplicaciones en Android
Android
|
free-articles
|
1
|
3,405
|
9 Mayo 2013, 00:23 am
por CodeSource
|
|
|
[Duda] ¿Algún curso/manual de Perl?
Scripting
|
DeMoNcRaZy
|
5
|
3,115
|
27 Junio 2015, 23:21 pm
por explorer
|
|
|
Curso de Programación Java con Grails
Java
|
usernovato
|
1
|
2,578
|
27 Octubre 2015, 00:09 am
por jsuperh
|
|
|
[CURSO] Programación en Java
« 1 2 »
Java
|
3n31ch
|
10
|
19,897
|
28 Junio 2017, 08:36 am
por 3n31ch
|
|