Autor
|
Tema: Curso de programación en Perl (Leído 17,299 veces)
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
Curso de PERL by Erik1.Introducci?nPerl 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
Mensajes: 1.138
Gundam
|
2.Como iniciar las aplicacionesMuy 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: perl nombredelaaplicacion.pl Y se te activara la aplicación. 3.Las rutas en CMDEsto, 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: Podemos elegir: cd Documents and Settings ... 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: 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
Mensajes: 1.138
Gundam
|
4.Nuestra primera aplicacion (Hello World)Primero, siempre que hagamos código perl, pondremos al principio del todo: #!/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: #!/usr/bin/perl
y ejecutamos: Y, ét voila, aqui tienes tu primera aplicación en perl.
|
|
|
En línea
|
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
5.Las variables simplesAhora, aprenderemos algo sobre las variables simples, las variables, como much?simos lenguajes, se almacenan con el $, como vemos aqui: #!/usr/bin/perl $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: #!/usr/bin/perl $nombre = "Erik";
Que si pusieramos: #!/usr/bin/perl $nombre = "Erik";
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: #!/usr/bin/perl
O este: #!/usr/bin/perl $quehora = "Son las"; $quehoraes = $quehora." ".$es; echo "$quehoraes";
Tambien cuando queremos mostrar una variable en print, podemos hacerlo sin poner comillas de ningun tipo: #!/usr/bin/perl $nombre = "Erik";
|
|
|
En línea
|
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
6.PRINTFLa 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: #!/usr/bin/perl
|
|
« Última modificación: 22 Junio 2009, 10:08 am por Erik# »
|
En línea
|
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
7.ArraysLos 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. #!/usr/bin/perl @array = ('Erik', 'Madness', 'Speed', 8, 191);
Esto mostraria: Erik Para mostrar todos, ponemos: #!/usr/bin/perl @array = ('Erik', 'Madness', 'Speed', 8, 191);
O podriamos hacer selecciones por columnas, por ejemplo: #!/usr/bin/perl $array[0]="Erik"; $array[1]="Madness"; $array[2]="Speed"; $array[3]=8; $array[4]=191;
Esto mostraria: Speed Tambien podemos hacer busquedas en un array por caracteres que contenga, por ejemplo: #!/usr/bin/perl @array = ('Erik', 'Madness', 'Speed', 'Mentor'); @busqueda = grep /^M/, @array;
Esto mostraria: Madness Mentor Ahora mostrariamos las palabras del array, seg?n como acabe las palabras: #!/usr/bin/perl @array = ('Erik', 'Madness', 'Speed', 'Mentor'); @busqueda = grep /d$/, @array;
Esto mostraria: Speed Ahora mostraremos como borrar el primer elemento del array: #!/usr/bin/perl @array = ('Erik', 'Madness', 'Speed', 'Mentor');
Esto mostraria: Madness Speed Mentor Ahora a?adiremos un elemento al array : #!/usr/bin/perl @array = ('Erik', 'Madness', 'Speed', 'Mentor');
Esto mostraria: Perl Erik Madness Speed Mentor
|
|
|
En línea
|
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
8.Flujo de entradaSi 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?: #!/usr/bin/perl print "?Como te llamas?:"; $nombre = <STDIN>; print "?Cuantos a?os tienes?:"; $edad = <STDIN>; print "Te llamas $nombre y tienes $edad a?os.";
|
|
|
En línea
|
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
9.ArchivosEn esta lecci?n que habran varias sublecciones, veremos como hacer la manipulaci?n de archivos. 9.1.Renombrar archivosEsta funcion es muy facil, seria algo as?: #!/usr/bin/perl rename ("archivo.txt", "supermegaarchivo.txt");
9.2.Abrir archivosSysopen 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: 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 lecturaPara usar varios modos a la vez usaremos pipes "|" Crear un archivo si no existe y escribe en el, por ejemplo:#!/usr/bin/perl sysopen (ARCHIVO , "archivo.txt", O_WRONLY | O_CREAT );
Para cambiar permisos, por defecto les da 666, por ejemplo:
#!/usr/bin/perl sysopen (ARCHIVO , "archivo.txt", O_WRONLY | O_CREAT ,0666 );
M?s sobre archivos en la siguiente leccion.
|
|
|
En línea
|
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
9.3.Cerrar archivosPara cerrar los archivos es una sintaxis, muy, muy sencilla: #!/usr/bin/perl
9.4.Abrir procesosSe abren de una forma parecida a los archivos: #!/usr/bin/perl open(rundll32 .exe , "|c:\\Windows\\");
Un ejemplo simple: #!/usr/bin/perl $listar = ();
9.5.Cerrar procesosSe cierra igual que los archivos: #!/usr/bin/perl
|
|
|
En línea
|
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
10.DirectoriosAhora veremos un par de funciones que nos serviran con los directorios: 10.1.Abrir y cerrar directoriosUsaremos la funcion opendir para abrir y cerrar directorios, de la misma forma que lo haciamos con ficheros. Aqui un ejemplo ofrecido por PAD : #!/usr/bin/perl foreach $nombre (readdir(DIRECTORIO )) { }
Cuando queramos cambiar el directorio de donde andamos, solo tenemos que hacer esto: #!/usr/bin/perl $zona= "/."; $directorio= chdir $zona;
10.2.Gestionar directoriosPara ver en que ruta estamos: Usaremos el modulo cwd que viene con la biblioteca estanda de perl con activeperl. #!/usr/bin/perl use Cwd;
Ahora, si queremos crear un directorio, usariamos mkdir: #!/usr/bin/perl mkdir "Nombre del directorio", 775;
Donde 775 podriamos los permisos del directorio, por defecto seria 775. Y para borrar directorios, lo mismo, pero usando rmdir: #!/usr/bin/perl rmdir "Nombre del directorio";
|
|
|
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,922
|
30 Diciembre 2011, 16:50 pm
por 3mp3z@ndo
|
|
|
Curso de Programación de aplicaciones en Android
Android
|
free-articles
|
1
|
3,404
|
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,576
|
27 Octubre 2015, 00:09 am
por jsuperh
|
|
|
[CURSO] Programación en Java
« 1 2 »
Java
|
3n31ch
|
10
|
19,870
|
28 Junio 2017, 08:36 am
por 3n31ch
|
|