• Publicidad

[OPINEN] Mi primer programa en Perl

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

[OPINEN] Mi primer programa en Perl

Notapor Warlox » 2011-01-29 04:28 @228

¡Hola!

El día de hoy me decidí comenzar a aprender a programar Perl, la verdad es que es un lenguaje super sencillo, es casi idéntico al PHP, solo se diferencia en unas pocas funciones o métodos.

Como mi primer script, se me ocurrió hacer un escáner de imágenes, que saca todas las imágenes de un código HTML o PHP que especifiques, y te devuelve la URL.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl -w
  2.  
  3. use LWP::UserAgent;
  4.  
  5. if(!$ARGV[0])
  6. {
  7.         print "[ERROR] Debes especificar una web.\n";
  8. }
  9. else
  10. {
  11.         print "[...] Escaneando [",$ARGV[0],"] por favor espere.\n\n";
  12.        
  13.         $robot = LWP::UserAgent->new();
  14.         $robot->agent('Warlox ImageScanner');
  15.         $pagina = $robot->get($ARGV[0]);
  16.        
  17.         # Búsqueda de imágenes JPG
  18.         print "*---------------------------------------------------------------*\n";
  19.         print "Imágenes JPG encontradas:\n";
  20.         if(@imagenesJPG = ($pagina->content =~ m/src="([^<>]+)\.jpg"/g))
  21.         {
  22.                 foreach $imagen(@imagenesJPG)
  23.                 {
  24.                    print "- ",$ARGV[0],"/",$imagen,".jpg\n";
  25.                 }
  26.         }
  27.         else
  28.         {
  29.                 print "- [ERROR] No se han encontrado imágenes JPG en el documento.\n";
  30.         }
  31.         print "*---------------------------------------------------------------*\n";
  32. }
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Y ahí lo tienen. No es la gran cosa, pero igual me siento orgulloso de saber un poquito de otro lenguaje más :P. Si tienen algo que mejorarle; alguna duda o cosas por el estilo, avísenme ;).

Saludos ^^
A veces hay que aprender a correr antes de caminar.
Avatar de Usuario
Warlox
Perlero nuevo
Perlero nuevo
 
Mensajes: 12
Registrado: 2011-01-29 04:23 @224
Ubicación: /home/warlox/

Publicidad

Re: [OPINEN] Mi primer programa en Perl

Notapor explorer » 2011-01-29 09:20 @431

Bienvenido a los foros de Perl en Español, Warlox.

Gracias por tu aporte.

Aunque se podrían comentar unos pequeñísimos detalles, el código está muy bien para una persona que acaba de empezar con Perl.

Solo un par de comentarios... Perl no se parece a PHP... es PHP el que se parece a Perl (recordemos que PHP nació de un programa Perl y su autor decidió reescribirlo desde cero).

Y en cuanto al número de funciones, en PHP se decidió que se podían adjuntar al núcleo del sistema un montón de librerías externas, formando parte del espacio de nombres de PHP. A la hora de compilar PHP tu decides cómo crear el intérprete php y con qué librerías, de base, incorporar. Al cabo de los años, esas librerías se han multiplicado, y el número de funciones disponibles, también. El resultado es este:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
root@hs-980:~# ll /usr/bin/php5 /usr/bin/perl
-rwxr-xr-x 1 root root 5236084 2008-10-02 10:26 /usr/bin/php5
-rwxr-xr-x 2 root root 1241148 2010-11-02 11:04 /usr/bin/perl
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

Sí, el intérprete de PHP5 ocupa casi 5 veces más que el intérprete de Perl v5, con lo que conlleva de retrasos de ejecución, consumo de recursos, etc.

En cambio, en Perl, se basa en una sintaxis muy rica apoyada en un par de centenares de funciones básicas, y todo lo demás, son módulos que se agregan al intérprete en tiempo de compilación del programa.

A fecha de noviembre de 2003, PHP tenía más de 3000 funciones integradas, mientras que Perl tenía 206. Tienes más diferencias en la famosa página "PHP IN CONTRAST TO PERL".

No hay duda de que cada visión tiene sus ventajas e inconvenientes... si php5 ya trae integrada la parte de interacción con MySQL (por ejemplo), en Perl hay que contar que se ha instalado el módulo DBD::mysql y la librería correspondiente libmysql-client.so.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: [OPINEN] Mi primer programa en Perl

Notapor Warlox » 2011-01-29 13:07 @588

¡Vale!, gracias por aclararme y explicarme todos estos conceptos. Por cierto; muy bueno tu foro, me pasaré seguido :)

Saludos ^^
A veces hay que aprender a correr antes de caminar.
Avatar de Usuario
Warlox
Perlero nuevo
Perlero nuevo
 
Mensajes: 12
Registrado: 2011-01-29 04:23 @224
Ubicación: /home/warlox/


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 27 invitados