• Publicidad

Aprendiz de Perl

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

Aprendiz de Perl

Notapor CID » 2006-03-16 09:33 @439

Buenos días desde Argentina.

Soy el usuario más nuevo (hasta la fecha) de ésta comunidad.

Soy programador hace años y llegado éste momento, y con más experiencia he decidido escoger entre unos cuantos lenguajes para perfeccionarme, entre los cuales está Perl.

Utilizo Windows por lo que utilizo Perl de Active (no sé si existe otro para Windows, esa es una de mis dudas).

En definitiva, quiero aprender Perl, en lenguajes de scripts tengo cierta experiencia con PHP y Python. Lo que pregunto es:
  • ¿Existe algún resumen (no un tutorial completo, algo acelerado) sobre Perl?
  • ¿Qué tipo de aplicaciones (las más frecuentes) se realizan (ustedes han realizado) utilizando este lenguaje?
  • ¿Tiene futuro Perl? ¿En qué ámbito?

Más allá de eso, los felicito por esta iniciativa de tener una comunidad de Perl en castellano.

¡¡Gracias y Saludos!!
CID
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2006-03-16 09:25 @434

Publicidad

Notapor CID » 2006-03-16 10:02 @460

Algo más...

¿Qué significa esto?

#!/usr/local/bin/perl

¿Es un comentario? ¿una directiva?

¿En Windows sirve para algo? ¿En Linux para qué sirve?

En definitiva, ¿Qué es?

¡Saludos!
CID
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2006-03-16 09:25 @434

Notapor monoswim » 2006-03-16 11:21 @514

Hola. Antes que nada, ¡¡¡ bienvenido a los foros y aguante, charly garcía !!!

Ahora bien, Perl últimamente se hizo muy famoso por su facilidad para hacer aplicaciones web, tendría la misma funcionalidad que PHP o ASP en ese sentido, solo que es un lenguaje mucho más serio, más potente, digamos...

Tutoriales hay muchos, buscá en Google que encontrarás muuuchos o en el emule puedes bajar libros enteros... En el ámbito web para mi tiene mucho futuro, o más bien presente, hay aplicaciones muy buenas hechas en Perl, sobre todo las importantes como Cpanel, ispconfig y demás...

¿ Qué más ? Esa línea que aparece al principio contiene la dirección del intérprete de perl, en tu caso deberías poner algo así como #!c:/perl/bin/perl.exe

Si está mal esa dirección el script no se ejecuta...

Espero que te sirva.

Saludos
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

Notapor CID » 2006-03-16 11:27 @519

Gracias por responder tan rápido.

Estaba probando lo de la línea comentada hacia el intérprete de Perl. Tanto en Windows como en Linux creé este simple archivo:

print "Hola mundo!\n";

sin colocar la línea hacia el interprete, y en los dos casos me lo toma. ¿¿No será solo un simple comentario??

Una pregunta más, ¿a qué se debe que deba colocar el salto de línea "\n" todo el tiempo?

En algunos scripts he visto que la colocan doble. ¿A qué se debe ésto?

¡Gracias de nuevo!
CID
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2006-03-16 09:25 @434

Re: Aprendiz de Perl

Notapor explorer » 2006-03-16 13:05 @587

CID escribiste:* ¿Existe algún resumen (no un tutorial completo, algo acelerado) sobre Perl?
Google es tu amigo: Tutoriales.

Y para aprender, uno de los primeros sitios a visitar es el propio sitio de Perl sobre aprendizaje.

Y naturalmente, en la sección de Tutoriales, de esta web.

CID escribiste:* ¿Qué tipo de aplicaciones (las más frecuentes) se realizan (ustedes han realizado) utilizando éste lenguaje?
Pues... de todo... desde filtrar ficheros de texto hasta detectar fuegos en tiempo real.

CID escribiste:* ¿Tiene futuro Perl? ¿En qué ámbito?
Perl es el sexto lenguaje más utilizado, pero está pasando por una crisis...

Crisis debida a que este lenguaje no está soportado por ninguna gran empresa, como lo puede ser IBM y Sun con el Java, o el C# con Microsoft. Apenas hay un puñado de empresas que pueden dar soporte empresarial, como la de ActiveState. Se puede decir que el único soporte serio es la propia comunidad y sus programadores.

El futuro de Perl es incierto. Por una parte la versión 6 está casi a punto pero le faltan meses de rodaje. El mercado de Perl actual ha bajado 2,73% con respecto al año pasado, estando ahora a los mismos niveles que hace 5 años. En algunos países es completamente desconocido. El número de libros, aunque suficientes, no se publican a la misma velocidad que la de los otros lenguajes que están en la cresta de la ola (de la popularidad).

Al final es cuestión personal. Quiero decir que yo seguiré usando Perl porque me sirve para mi trabajo casero y profesional, en multitud de ámbitos. Encontrar una solución clara, rápida y sencilla, eso es para mí lo que me ofrece.

Con la cantidad de recursos disponibles en CPAN, no hay que tener miedo en quedarse 'huérfano' (al menos durante años).

Como suelo decir: Los programadores que olvidan la Historia, están condenados a aprender Java.
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: Aprendiz de Perl

Notapor explorer » 2006-03-16 13:43 @613

CID escribiste:¿Qué significa esto?

#!/usr/local/bin/perl

¿Es un comentario? ¿una directiva?

¿En Windows sirve para algo? ¿En Linux para qué sirve?

En definitiva, ¿¿qué es??
Es un truco... ;)

Resulta que en la mayoría de los programas en script usan el carácter '#' como inicio de comentario, así que lo que estamos viendo es en realidad... un comentario de un programa.

PERO aprovechando que es un comentario, a alguien se le ocurrió la maravillosa idea de colocar allí el camino al programa que interpretará el resto del código. Quiero decir que puso al lado del '#' un carácter '!', y siendo estos dos caracteres los dos primeros del fichero, sólo tenemos que indicar al sistema operativo que, cuando el usuario desee ejecutar este fichero, lo primero que tiene que hacer es mirar si los dos primeros bytes son el 0x23 y el 0x21 (esto en informática se le llama número mágico). Si son esos, entonces en vez de ejecutarlo como un binario más, lo que hará el shell del sistema será ejecutar el intérprete que sigue a '#!', pasándole como primer argumento nuestro programa.

Un ejemplo. Si tenemos este código: print "Hola CID!!!\n"; y lo guardamos como cid.pl, para ejecutarle necesitamos escribir /usr/bin/perl cid.pl O podemos escribirlo de esta otra manera:

#!/usr/bin/perl
print "Hola CID!!!\n";


Luego darle al fichero los permisos de ejecución como si fuera un binario más (chmod 755 cid.pl) y ejecutarlo directamente:

cid.pl

A la combinación '#!' se le llama Shebang.

En Windows, a pesar de que tiene también el sistema de 'número mágico' para identificar de qué tipo es el programa que estamos intentando ejecutar, no suele tener asociado nada cuando ve '#!', por lo que tenemos que usar otro truco, que es el de asociar la extensión de los archivos (.pl) a la operación abrir (Open) con el ejecutable perl.exe. Todo esto lo suelen hacer las distribuciones de Perl en cuanto las instalamos en Windows, como el de ActiveState, así que nosotros ni nos damos cuenta de ese paso.

En caso de que tengamos que hacer estas operaciones manualmente, sólo hay que acordarse de:
  • Ir a la variable de entorno del sistema PATH y agregarle el camino al lugar donde reside el perl.exe. Seguramente también tendremos que definir la variable PERL5LIB para que apunte al subdirectorio C:\Perl\lib o algo parecido, para que el Perl pueda encontrar las librerías básicas para funcionar
  • Pulsar con doble clic en un archivo .pl. Si el Windows no sabe qué hacer, nos preguntará con qué programa hay que abrirlo. En ese momento tenemos que decidir si queremos que lo ejecute directamente con Perl (Open perl.exe) o con otro programa, como puede ser un editor de texto (Open edit.exe). Más tarde, en opciones de Carpeta, pestaña Ver, podremos cambiar estas opciones y poner otras (en caso de doble clic, ejecutarlo, pero si se pulsa con el botón derecho, ofrecer la opción de editarlo con otro programa).

En definitiva, en Windows podríamos pasar de él, PERO es SIEMPRE recomendable ponerlo, porque... tus programas no siempre van a estar en Windows...

Más información sobre '#!' en Windows.
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: Aprendiz de Perl

Notapor explorer » 2006-03-16 13:51 @619

CID escribiste:Una pregunta más, ¿a qué se debe que deba colocar el salto de línea "\n" todo el tiempo?
Pues porque los ordenadores sólo hacen lo que se les pide... o visto de otra forma, ¿cómo sabría el ordenador que la frase que queremos imprimir un carácter de nueva línea o no? No es lo mismo sacar una frase completa -y entonces sí que es necesario el fin de línea-, que sacar la frase "Espere por favor...", hacer unas cuentas, y luego sacar un fin de línea y otra frase como "Fin del cálculo".

Aquí Perl tiene un detalle para ahorrarnos el trabajo de poner "\n" en todos los finales de línea.

Si en la cabecera del programa pones un '-l' entonces Perl lo hará por ti:

#!/usr/bin/perl -l
print "¡¡¡Hora CID!!!";
print "¿Qué tal?";


CID escribiste:En algunos scripts he visto que la colocan doble. ¿A qué se debe ésto?
Pues porque el programador quiere o necesita que en ese lugar o momento salgan dos finales de línea. Los dos ejemplos más clásicos son los correos electrónicos y las cabeceras de las peticiones HTTP. Ejemplo:

# Fin de la cabecera HTTP:
print "Content-Type: text/html\n\n";

# Ahora sigue la página HTML...
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

Notapor CID » 2006-03-16 15:02 @668

Perfecto, solo me están quedando tres preguntas de aprendiz.
  1. ¿Existe un IDE con autocompletado para Perl y que sea gratuito?
  2. ¿Es posible generar un código compilado (es decir binario, no fuente)?
  3. ¿Dónde puede encontrar la lista de parámetros para el interprete? tales como -l, etc. (ni siquiera sé qué nombre tienen esos parámetros en la jerga de Perl).
Simplemente eso, y creo que si publico de nuevo lo haré en un mensaje aparte con preguntas ya un poco más interesantes.

Gracias de nuevo, de verdad. Una excelente comunidad, los felicito.
CID
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2006-03-16 09:25 @434

Re: Aprendiz de Perl

Notapor explorer » 2006-03-16 15:16 @678

CID escribiste:* ¿Existe un IDE con autocompletado para Perl y que sea gratuito?
Perl Development Tools.
CID escribiste:* ¿Es posible generar un código compilado (es decir binario, no fuente)?
Sí. Busca en este web por la palabra perl2exe. Hay más opciones...
CID escribiste:* ¿Dónde puede encontrar la lista de parámetros para el intérprete, tales como -l, etc...?
Toda la documentación de Perl está en Perldoc. En concreto, las opciones de ejecución que se pueden usar están en perlrun.
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

Notapor CID » 2006-03-16 15:37 @692

¡Muchas gracias de nuevo!
CID
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2006-03-16 09:25 @434

Siguiente

Volver a Básico

¿Quién está conectado?

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