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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  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 17,466 veces)
Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Curso de programación en Perl
« en: 7 Enero 2009, 13:33 pm »

Curso de PERL by Erik

1.Introducci?n
Perl es un lenguaje de programaci?n por lotes, viene de C, se ejecuta con las consolas, y se pueden hacer exploits, programas de todo tipo, virus...
Un lenguaje de scripting tipo Batch, Shell unix, Python...
En este cursillo os ense?are todo lo que teneis que saber para ser unos buenos programadores de perl, desde crear un archivo perl, hasta crear un exploit.
Lo primero que vamos a hacer sera descargarnos ActivePerl para windows desde aqui.
Es un enlace directo...
O en linux, nos vamos a nuestro gestor de paquetes y lo buscamos.
Principalmente el curso esta dise?ado para Windows.
Muy bien, procedemos la instalaci?n, y una vez acabada, saltamos al siguiente capitulo.

Atenci?n:

Derechos reservados por la licencia Creative Commons, prohibida la venta de este manual.


En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


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

2.Como iniciar las aplicaciones

Muy bien, en PERL, para poder iniciar las aplicaciones tenemos que abrir la consola, y, alli para poder iniciar una aplicacion en perl tenemos que escribir:
Código:
perl nombredelaaplicacion.pl
Y se te activara la aplicación.

3.Las rutas en CMD

Esto, tambien nos servira para las aplicaciones en perl, si un dia, nosotros queremos cambiar de ruta en la que se esta ejecutando, solo tenemos que poner:
Código:
cd \La ruta que queremos

Podemos elegir:
Código:
cd 
Código:
cd Archivos de programa
Código:
cd Documents and Settings
Código:
cd Escritorio
Código:
cd Favoritos
Código:
cd Mis documentos
Código:
cd Desktop
Código:
cd Home/User
...
Y muchísimos más, pero estos son los más normales.

Ahora, tambien podriamos usar md, la funcion de rutas que crea esa ruta que tu deseas, por ejemplo queremos crear la ruta erik, hariamos esto:
Código:
md erik
Y crearia esa "ruta" en la ruta que estubiesemos.
Ahora queremos crearla en un lugar especifico...
Pues cambiamos de dirección con cd a donde queramos colocarla, y luego usamos md.
Muy sencillo.


En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


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

4.Nuestra primera aplicacion (Hello World)

Primero, siempre que hagamos código perl, pondremos al principio del todo:
Código
  1. #!/usr/bin/perl
Para informar de que es un código PERL.
Ahora, usaremos la funcion print, que es la que imprime una cadena, o un texto plano en MS-DOS:
Código
  1. #!/usr/bin/perl
  2. print "Hello World";

y ejecutamos:
Código:
perl Hello.pl
Y, ét voila, aqui tienes tu primera aplicación en perl.
En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


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

5.Las variables simples

Ahora, aprenderemos algo sobre las variables simples, las variables, como much?simos lenguajes, se almacenan con el $, como vemos aqui:
Código
  1. #!/usr/bin/perl
  2. $nombre = "Erik";

Otra cosa son las comillas, existen de dos maneras, las comillas simples y las comillas dobles, al declarar una variable, da igual si usamos '', que si usamos "".
Pero al declarar la variable, si que es importante...
No es lo mismo que pongamos:
Código
  1. #!/usr/bin/perl
  2. $nombre = "Erik";
  3. print "$nombre";

Que si pusieramos:
Código
  1. #!/usr/bin/perl
  2. $nombre = "Erik";
  3. print '$nombre';

El primero, imprimiria Erik, y el segundo imprimiria $nombre.
Comillas dobles son buenas, comillas simples no.

A las variables tambien les podriamos agregar otras variables o funciones.
Como por ejemplo ahora:
Código
  1. #!/usr/bin/perl
  2. $quehoraes = "Son las".  localtime();
  3. print "$quehoraes";

O este:
Código
  1. #!/usr/bin/perl
  2. $quehora = "Son las";
  3. $es = localtime();
  4. $quehoraes = $quehora."  ".$es;
  5. echo "$quehoraes";

Tambien cuando queremos mostrar una variable en print, podemos hacerlo sin poner comillas de ningun tipo:
Código
  1. #!/usr/bin/perl
  2. $nombre = "Erik";
  3. print $nombre;
En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


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

6.PRINTF
La funci?n PRINTF la necesitaremos para poder hacer flujos de salida con formato tipo C.
Aqui veis las tablas de numeraci?n:

%f = Notacion decimal, coma flotante "float"
%d = Entero con signo, n? decimal
%ld = n? decimal largo
%u  = n? decimal sin signo
%x  = hexadecimal
%lx = n? hexadecimal largo
%X  = hexadecimal con mayusculas
%o  = n? octal
%lo = n? octal largo
%s  = Cadena o string
%c  = un caracter del codigo ASCII
%p  = Puntero
%e  = Notacion cientifica
%%  = signo de porcentaje

Aqui un ejemplo del uso del primero de esta tabla:
Código
  1. #!/usr/bin/perl
  2. printf "%f",91.3691;
« Última modificación: 22 Junio 2009, 10:08 am por Erik# » En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


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

7.Arrays

Los arrays es una forma de recorrer una variable con diferentes numeros, palabras, etc...
Y seleccionar el que queramos, uno al azar, o todos a la vez.
Cuando definimos un array lo hacemos con la @ delante de todo.

Código
  1. #!/usr/bin/perl
  2. @array = ('Erik', 'Madness', 'Speed', 8, 191);
  3. print @array[0];

Esto mostraria: Erik

Para mostrar todos, ponemos:
Código
  1. #!/usr/bin/perl
  2. @array = ('Erik', 'Madness', 'Speed', 8, 191);
  3. print @array;

O podriamos hacer selecciones por columnas, por ejemplo:
Código
  1. #!/usr/bin/perl
  2. $array[0]="Erik";
  3. $array[1]="Madness";
  4. $array[2]="Speed";
  5. $array[3]=8;
  6. $array[4]=191;
  7. print @array[2];

Esto mostraria: Speed

Tambien podemos hacer busquedas en un array por caracteres que contenga, por ejemplo:
Código
  1. #!/usr/bin/perl
  2. @array = ('Erik', 'Madness', 'Speed', 'Mentor');
  3. @busqueda = grep /^M/, @array;
  4. print @busqueda;

Esto mostraria: Madness Mentor

Ahora mostrariamos las palabras del array, seg?n como acabe las palabras:
Código
  1. #!/usr/bin/perl
  2. @array = ('Erik', 'Madness', 'Speed', 'Mentor');
  3. @busqueda = grep /d$/, @array;
  4. print @busqueda;

Esto mostraria: Speed

Ahora mostraremos como borrar el primer elemento del array:
Código
  1. #!/usr/bin/perl
  2. @array = ('Erik', 'Madness', 'Speed', 'Mentor');
  3. shift(@array);
  4. print @array;

Esto mostraria: Madness Speed Mentor

Ahora a?adiremos un elemento al array :
Código
  1. #!/usr/bin/perl
  2. @array = ('Erik', 'Madness', 'Speed', 'Mentor');
  3. unshift (@array, "Perl");
  4. print @array;

Esto mostraria: Perl Erik Madness Speed Mentor
En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


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

8.Flujo de entrada

Si queremos que  un programa sea interactivo por parte del usuario, y  que
este programa pueda recoger cierta informacion, usaremos  "STanDart
INput".

Por ejemplo, queremos preguntarle, su nombre y su edad, hariamos algo as?:
Código
  1. #!/usr/bin/perl
  2. print "?Como te llamas?:";
  3. $nombre = <STDIN>;
  4. print "?Cuantos a?os tienes?:";
  5. $edad = <STDIN>;
  6. print "Te llamas $nombre y tienes $edad a?os.";
En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


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

9.Archivos

En esta lecci?n que habran varias sublecciones, veremos como hacer la manipulaci?n de archivos.

9.1.Renombrar archivos

Esta funcion es muy facil, seria algo as?:
Código
  1. #!/usr/bin/perl
  2. rename ("archivo.txt", "supermegaarchivo.txt");

9.2.Abrir archivos

Sysopen se parece bastante a la funcion open salvo que es posible  cambiar
una serie de parametros como los permisos del archivo etc, su sintaxis es:

Código
  1. sysopen (REFERENCIA, "archivo que abrimos", MODO DE APERTURA, PERMISOS)

Modos de apertura:
O_RDONLY : Solo lectura
O_WRONLY : Solo escritura
O_CREAT  : Crea el archivo si no existe
O_TRUNC  : Trunca el archivo antes de leerlo o escribirlo
O_RDWR   : Escritura y lectura


Para usar varios modos a la vez usaremos pipes "|"

Crear un archivo si no existe y escribe en el, por ejemplo:

Código
  1. #!/usr/bin/perl
  2. sysopen (ARCHIVO, "archivo.txt", O_WRONLY | O_CREAT);

Para cambiar permisos, por defecto les da 666, por ejemplo:

Código
  1. #!/usr/bin/perl
  2. sysopen (ARCHIVO, "archivo.txt", O_WRONLY | O_CREAT,0666);

M?s sobre archivos en la siguiente leccion.
En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


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

9.3.Cerrar archivos

Para cerrar los archivos es una sintaxis, muy, muy sencilla:
Código
  1. #!/usr/bin/perl
  2. close ("archivo.txt");

9.4.Abrir procesos

Se abren de una forma parecida a los archivos:
Código
  1. #!/usr/bin/perl
  2. open(rundll32.exe, "|c:\\Windows\\");

Un ejemplo simple:
Código
  1. #!/usr/bin/perl
  2. open(LISTAR, "|dir");
  3. $listar = ();
  4. print $listar;
  5. close $listar;
  6.  

9.5.Cerrar procesos

Se cierra igual que los archivos:
Código
  1. #!/usr/bin/perl
  2. close (Proceso);
En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


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

10.Directorios

Ahora veremos un par de funciones que nos serviran con los directorios:

10.1.Abrir y cerrar directorios

Usaremos la funcion opendir para abrir y cerrar directorios,  de la misma
forma que lo haciamos con ficheros.
Aqui un ejemplo ofrecido por PAD ;):

Código
  1. #!/usr/bin/perl
  2. opendir (DIRECTORIO, "/");
  3. foreach $nombre (readdir(DIRECTORIO))
  4. {
  5. print "$nombre\n";
  6. }
  7. closedir(DIRECTORIO);

Cuando queramos cambiar el directorio de donde andamos, solo tenemos que hacer esto:
Código
  1. #!/usr/bin/perl
  2.   $zona= "/.";
  3.   $directorio= chdir $zona;

10.2.Gestionar directorios

Para ver en que ruta estamos:
Usaremos el modulo cwd que viene con la biblioteca estanda de perl con activeperl.

Código
  1. #!/usr/bin/perl
  2. use Cwd;
  3. print getcwd();
  4.  

Ahora, si queremos crear un directorio, usariamos mkdir:

Código
  1. #!/usr/bin/perl
  2. mkdir "Nombre del directorio", 775;
  3.  

Donde 775 podriamos los permisos del directorio, por defecto seria 775.

Y para borrar directorios, lo mismo, pero usando rmdir:

Código
  1. #!/usr/bin/perl
  2. rmdir "Nombre del directorio";
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,952 Último mensaje 30 Diciembre 2011, 16:50 pm
por 3mp3z@ndo
Curso de Programación de aplicaciones en Android
Android
free-articles 1 3,417 Último mensaje 9 Mayo 2013, 00:23 am
por CodeSource
[Duda] ¿Algún curso/manual de Perl?
Scripting
DeMoNcRaZy 5 3,159 Último mensaje 27 Junio 2015, 23:21 pm
por explorer
Curso de Programación Java con Grails
Java
usernovato 1 2,591 Último mensaje 27 Octubre 2015, 00:09 am
por jsuperh
[CURSO] Programación en Java « 1 2 »
Java
3n31ch 10 20,025 Último mensaje 28 Junio 2017, 08:36 am
por 3n31ch
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines