elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Curso de programación en Perl
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 4 Ir Abajo Respuesta Imprimir
Autor Tema: Curso de programación en Perl  (Leído 15,975 veces)
Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Curso de programación en Perl
« Respuesta #10 en: 7 Enero 2009, 13:36 pm »

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 Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Curso de programación en Perl
« Respuesta #11 en: 7 Enero 2009, 13:36 pm »

12.Sistema

En este capitulo aprenderemos a trabajar con el sistema operativo.
Primero, vamos a ver como mostrar los datos de la ruta donde andamos.

Código
  1. #!/usr/bin/perl
  2. system("dir");

Esto, en mi ordenador imprime
Código:
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:

Código
  1. #!/usr/bin/perl
  2. system("dir > sistema.txt");

Ahora, miraremos algunas funciones como Pause :)

Código
  1. #!/usr/bin/perl
  2. print "Hola, buenos dias, que tal esta?\n";
  3. system("pause");
  4. print "et voila";
  5. system("pause>nul");


En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Curso de programación en Perl
« Respuesta #12 en: 7 Enero 2009, 13:37 pm »

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:

Código
  1. while (condicion)
  2.   {
  3.      (sentencia que se cumple)
  4.   }

Por ejemplo, un ejemplo simple de entendimiento rapidito:
Código
  1. #!/usr/bin/perl
  2. $erik = 1;
  3. while($erik <=50)
  4. {
  5. print "Este es el mensaje numero $erik\n";
  6. $erik++;
  7. }

Ya sabemos como va While, ahora nos vamos con Don For.

Aqui vemos la sintaxis de for:
Código
  1. for (valor de variable; condicion; expresion de control)
  2. {
  3. (sentencia)
  4. }

Y aqui el ejemplo final de for:

Código
  1. #!/usr/bin/perl
  2. for ($erik=1;$erik<10;$erik++)
  3. {
  4. print "Este es el numero $erik";
  5. }

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:
Código
  1. #!/usr/bin/perl
  2.   for ($erik=1;$erik<10;$erik++)
  3.   {
  4.     if ($erik==5) #Cuando llegue a 5
  5.     {
  6.       next; #pasa al 6
  7.     }
  8.     print "$erik\n";
  9.   }
  10.  

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 =).

Código
  1. #!/usr/bin/perl
  2. for(;;)
  3. {
  4. print "You are Fucked!\n";
  5. }
  6.  
En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Curso de programación en Perl
« Respuesta #13 en: 7 Enero 2009, 13:37 pm »

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:
Código
  1. #!/usr/bin/perl
  2. if(condicion)
  3. {
  4. (sentencia)
  5. }

Aqui un ejemplo:
Código
  1. #!/usr/bin/perl
  2. $erik = "Administrador";
  3. if($erik == "Administrador")
  4. {
  5. print "Correcto, erik, es administrador";
  6. }

Tambien, existe una forma de a?adir ELSE un bucle que si la primera sentencia es erronea o correcta, exponga otro resultado:
Sintaxis:
Código
  1. #!/usr/bin/perl
  2. if(condicion)
  3. {
  4. (sentencia)
  5. }
  6. else {
  7. (sentencia)
  8. }

Aqui un ejemplo real:
Código
  1. #!/usr/bin/perl
  2. $erik = "Usuario";
  3. if ($erik == "Administrador")
  4. {
  5. print "Correcto es administrador";
  6. }
  7. else {
  8. print "Correcto es usuario";
  9. }

En este ejemplo, devolveria Usuario, porque no es administrador.
Y por ultimo Elseif, aqui lo veis.
Sintaxis:
Código
  1. #!/usr/bin/perl
  2. if(condicion)
  3. {
  4. (sentencia)
  5. }
  6. elseif(condicion) {
  7. (sentencia)
  8. }
  9. else {
  10. (sentencia)
  11. }

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:
Código
  1. #!/usr/bin/perl
  2. @admins = ("Erik", "Eriks", "Otros...");
  3. print "Los admins son: ";
  4. foreach $admins (@admins)
  5. {
  6. print $admins;
  7. }

Para hacer un ordenado alfabetico hariamos la sentencia sort:
Código
  1. #!/usr/bin/perl
  2. @admins = ("Eriks", "Erik", "Otros...");
  3. print "Los admins son: ";
  4. foreach $admins (sort @admins)
  5. {
  6. print $admins;
  7. }

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 Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Curso de programación en Perl
« Respuesta #14 en: 7 Enero 2009, 13:37 pm »

14.Subrutinas

Las 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:

Código
  1. #!/usr/bin/perl
  2. sub nombre_de_la_subrutina
  3. {
  4. (sentencia)
  5. }
  6.  

Y para llamarlas usaremos el caracter &, por ejemplo

Código
  1. #!/usr/bin/perl
  2. sub erik
  3. {
  4. print "Hola\n";
  5. }
  6. &erik;
  7. print "Adios";
  8.  

O tambien la podemos llamar mediante el:
Código
  1. #!/usr/bin/perl
  2. sub erik
  3. {
  4. print "Hola\n";
  5. }
  6. erik();
  7. print "Adios";
  8.  

mi_subrutina();
En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Curso de programación en Perl
« Respuesta #15 en: 7 Enero 2009, 13:38 pm »

15.Hexadecimal a Binario

En esta lección, aprenderemos como pasar una cifra hexadecimal a binario.
Código
  1. #!/usr/bin/perl
  2. $binario = join('', unpack('B*', "\x191"));
  3. print "$binario\n";
  4.  

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:
Código
  1. #!/usr/bin/perl
  2. print "Introduce el numero hexadecimal que deseas pasar a binario:";
  3. $binn = <STDIN>;
  4. $binario = join('', unpack('B*', "\x$binn"));
  5. 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.

Código
  1. #!/usr/bin/perl
  2. print "Introduce b* si deseas binario ascendente, introduce B* si deseas binario descendente:";
  3. $bin = <STDIN>;
  4. print "Introduce el numero hexadecimal que deseas pasar a binario:";
  5. $binn = <STDIN>;
  6. $binario = join('', unpack("$bin", "\x$binn"));
  7. 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 Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Curso de programación en Perl
« Respuesta #16 en: 7 Enero 2009, 13:38 pm »

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

Código
  1. #!/usr/bin/perl
  2. sub erik
  3. {
  4. my $nombre = "erik";
  5. print "Admin: $nombre\n";
  6. }
  7. my $admin = "Admin";
  8. print "$admin: erik\n";
  9. &erik;
  10.  
En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Curso de programación en Perl
« Respuesta #17 en: 7 Enero 2009, 13:38 pm »

17.Switch

Switch es muy utilizado para crear men?s y poder hacer elecciones:

Código
  1. #!/usr/bin/perl
  2. use Switch;
  3. $variable = <valor>;
  4. switch ($variable) {
  5. case 1 { print "<menu>" }
  6. case 2 { print "<menu>" }
  7. case 3 { print "<menu>" }
  8. case 4 { print "<menu>" }
  9. else { print "ERROR" }
  10. }
  11.  
En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Curso de programación en Perl
« Respuesta #18 en: 7 Enero 2009, 13:39 pm »

18.Begin End & Goto

Podemos 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:
Código
  1. #!/usr/bin/perl
  2. print "2\n";
  3. BEGIN {print "1\n"}
  4. END {print "4\n"}
  5. print "3\n";
  6.  

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:
Código
  1. #!/usr/bin/perl
  2. Inicio:
  3. print "Volvemos al inicio";
  4. goto 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 Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Curso de programación en Perl
« Respuesta #19 en: 7 Enero 2009, 13:39 pm »

19.Sleep, Ignore & Alarm

Estas tres funciones pertenecen a las funciones denominadas "timer" (denominado por mi  ;D).
Sleep, lo que hace es parar el proceso el tiempo que desees, por ejemplo:

Código
  1. #!/usr/bin/perl
  2. print "De aqui 10 segundos te dire la contraseña";
  3. sleep 10;
  4. 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:

Código
  1. #!/usr/bin/perl
  2. {
  3. $war{ALRM} = sub  { die "Fallaste"};
  4. print "Escribe la contraseña antes de 5 segungos:\n";
  5. $war{ALRM} = 'IGNORE';
  6. print "Como hemos usado ignore, puedes tomarte el tiempo que necesites\n";
  7. $pass = <STDIN>;
  8. };
  9. if ($@ =~ /Fallaste/){
  10. print "Has fallado";
  11. }

y ahora alarm, lo que hace es que si en ese "x" tiempo no haces la funcion te salta.

Código
  1. #!/usr/bin/perl
  2. {
  3. $war{ALRM} = sub  { die "Fallaste"};
  4. print "Escribe la contraseña antes de 5 segungos:\n";
  5. $pass = <STDIN>;
  6. };
  7. if ($@ =~ /Fallaste/){
  8. print "Has fallado";
  9. }
  10. else {
  11. print "Contraseña correcta";
En línea

Páginas: 1 [2] 3 4 Ir Arriba Respuesta Imprimir 

Ir a:  

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,671 Último mensaje 30 Diciembre 2011, 16:50 pm
por 3mp3z@ndo
Curso de Programación de aplicaciones en Android
Android
free-articles 1 3,193 Último mensaje 9 Mayo 2013, 00:23 am
por CodeSource
[Duda] ¿Algún curso/manual de Perl?
Scripting
DeMoNcRaZy 5 2,708 Último mensaje 27 Junio 2015, 23:21 pm
por explorer
Curso de Programación Java con Grails
Java
usernovato 1 2,373 Último mensaje 27 Octubre 2015, 00:09 am
por jsuperh
[CURSO] Programación en Java « 1 2 »
Java
3n31ch 10 18,397 Último mensaje 28 Junio 2017, 08:36 am
por 3n31ch
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines