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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 [36] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ... 56
351  Programación / Scripting / Re: Curso de programación en Perl en: 7 Enero 2009, 13:41 pm
24.Variables argumentativa

Las variables argumentativasson las que se consiguen escribiendo como si fuera un metodo get, por ejemplo:

Código
  1. #!/usr/bin/perl
  2. print "Te llamas $ARGV[0]";

Pero claro, para conseguir el resultado de esa variable argumentativa, necesitamos escribir al ejecutar el archivo.pl esto:

nombre.pl Erik

En este caso seria eso.
Pueden a?adirles tantas argumentativas como quieran.
Si no ha quedado claro, crean un nuevo tema y preguntais all
352  Programación / Scripting / Re: Curso de programación en Perl en: 7 Enero 2009, 13:41 pm
23.Localtime

Al principio del curso vimos que usabamos la funcion localtime, actualmente, vamos a ense?aros a representarla con las definiciones que querrais, la sintaxis seria algo as?:

Código
  1. #!/usr/bin/perl
  2. ($sec,$min,$hor,$day,$mon,$year,$wday,$yday,$isdst)=localtime(time);
  3. print "$sec,";
  4. print " $min, ";
  5. print "$hour, ";
  6. print "$isdst, ";
  7. print "$year, ";
  8. print "$mon, ";
  9. print "$wday, ";
  10. print "$yday, ";
  11. print "$mday.";
  12.  

Como veis, ya indica cada cosa que es, imaginaos que ahora queremos hacer una aplicacion que muestro, hora:minuto:segundo.

Código
  1. #!/usr/bin/perl
  2. ($sec,$min,$hor)=localtime(time);
  3. print "$hor: $min: $sec";

?t voila!
353  Programación / Scripting / Re: Curso de programación en Perl en: 7 Enero 2009, 13:40 pm
22.Funciones numericas

Como veis en el titulo, vamos a hablar de este tipo de funciones numericas:
- Rand
- Rand transformado
- Sumas
- Restas
- Divisiones
- Multiplicaciones
- Potencias
- Raices cuadradas
- Valores absolutos
- Restos

1.Rand:
Lo que la  funci?n numerica rand hace es elegir un numero flotante del 0 al numero que quieras.

Código
  1. #!/usr/bin/perl
  2. print rand(80);

2.Rand transformado:
Es lo mismo que antes solo que puedes elegir numeros octales, caracteres ASCII, colocando su referente delante de todo:

Código
  1. #!/usr/bin/perl
  2. print oct(rand(80));

3.Sumas:
Las sumas se efectuan usando el caracter +:

Código
  1. #!/usr/bin/perl
  2. $suma = 9+9;
  3. print $suma;

4.Restas:
Las restas se efectuan usando el caracter -:

Código
  1. #!/usr/bin/perl
  2. $resta = 9-9;
  3. print $resta;

5.Divisiones:
Las divisiones se efectuan usando el caracter /:

Código
  1. #!/usr/bin/perl
  2. $division = 81/9;
  3. print $division;

6.Multiplicaciones:
Las multiplicaciones se efectuan usando el caracter *:

Código
  1. #!/usr/bin/perl
  2. $multi = 9*9;
  3. $multi;

7.Potencias:
Hay dos tipos de efectuar potencias, usando el sistema exp para conseguir la potencia a cualquier numero:

Código
  1. #!/usr/bin/perl
  2. $pot = exp 8;
  3. print $pot;

Y luego, elevar un numero a una potencia, aqui vemos como se hace:

Código
  1. #!/usr/bin/perl
  2. $pot = 5 ** 2;
  3. print $pot;

Esto se llamaria 5 a la 2 o 5 al cuadrado.

8.Raices cuadradas:
La raiz cuadrada al igual que C se utiliza sqrt, pero en perl no necesitamos la libreria math.h:

Código
  1. #!/usr/bin/perl
  2. $raizcuadrada= sqrt 81;
  3. print $raizcuadrada;
  4.  

9.Valor absoluto:
El valor absoluto se obtiene usando la funcion abs por ejemplo:

Código
  1. #!/usr/bin/perl
  2. print abs(-90);

10.Como sacar el resto:
El resto se obtiene usando el caracter %:

Código
  1. #!/usr/bin/perl
  2. $resto = 14 % 51;
  3. print $resto;
354  Programación / Scripting / Re: Curso de programación en Perl en: 7 Enero 2009, 13:40 pm
22.Conversiones de bases numericas

De hexadecimal a decimal:

Código
  1. #!/usr/bin/perl
  2. print hex ("contenido");
  3.  

De octal a decimal:

Código
  1. #!/usr/bin/perl
  2. print oct ("cifra");
  3.  

De decimal a ASCII:

Código
  1. #!/usr/bin/perl
  2. print chr("cifra");

Y como pusimos en una lección anterior de hexadecimal a binario:

Código
  1. #!/usr/bin/perl
  2. print "join('', unpack('B*', "\x191"));

EDIT: Ahora me acorde de otra funcion de conversión era ord, para pasar de ASCII a octal y otros...

Código
  1. #!/usr/bin/perl
  2. print ord("cifra o caracteres");
  3.  

Proxima lección, funciones numericas como RAND, restas, multiplicaciones...
355  Programación / Scripting / Re: Curso de programación en Perl en: 7 Enero 2009, 13:40 pm
21.Die

Se que una lecci?n para una sola funci?n es poco, pero ami esta funci?n me parece muy interesante por el solo hecho de avisarte formalmente de un error.

Cuando una subrutina o una configuraci?n de modulos, conexi?n etc... no te sale bien, usamos la funci?n die.
Die lo que hace es que si la conexi?n no salio bien, salta un mensaje y se acaba el programa.

Aqui un ejemplo de die en nuestro programa el mail bomber:
Código
  1. #!/usr/bin/perl
  2. use Net::SMTP;
  3. $smtp = Net::SMTP->new('error',
  4. Hello => 'error',
  5. Timeout =>25,
  6. Debug   =>1,
  7. );
  8. die "No se ha podido conectar al servidor";

Como veis, die declara que no se efectuo la conexion y se acaba el programa.
356  Programación / Scripting / Re: Curso de programación en Perl en: 7 Enero 2009, 13:39 pm
20.Encriptaci?n en B64

Primero de todo, tenemos que activar el modulo MIME::Base64:
Código
  1. #!/usr/bin/perl
  2. use MIME::Base64;

Una vez activado este modulo, podemos ver 2 opciones diferentes, codificar, descodificar.
Vamos con la codifiaci?n:
Activamos el modulo B64.

Código
  1. #!/usr/bin/perl
  2. use MIME::Base64;
  3. $encoded = encoded_base64('El texto');
  4. print $encoded;

Ya hemos cifrado la primera b64, ahora veremos como descodificar:
Código
  1. #!/usr/bin/perl
  2. use MIME::Base64;
  3. $decoded = decoded_base64('El texto');
  4. print $decoded;

Ya esta, recibimos el resultado, ahora, vamos a ver un ejemplo de un sistema que codifique y descodifique, aqui lo vemos:

Código
  1. #!/usr/bin/perl
  2. use MIME::Base64;
  3. print "Que texto desea codificar?:";
  4. $cod = <STDIN>;
  5. print "Que texto desea descodificar?:";
  6. $descod = <STDIN>;
  7. $encoded = encode_base64($cod);
  8. $decoded = decode_base64($descod);
  9. print "$encoded\n";
  10. print "$decoded";

Fin de la lecci?n del modulo B64.
357  Programación / Scripting / Re: Curso de programación en Perl 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";
358  Programación / Scripting / Re: Curso de programación en Perl 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).
359  Programación / Scripting / Re: Curso de programación en Perl 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.  
360  Programación / Scripting / Re: Curso de programación en Perl 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.  
Páginas: 1 ... 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 [36] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ... 56
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines