tipos son programacion mejor los libro lenguajes lenguaje español ejemplos cuales perl cpan

son - libro de perl en español pdf



¿Qué debería enseñarle a un programador de Perl principiante? (11)

Voy a pasar 30 minutos enseñando Perl a un programador experimentado. La mejor manera de aprender Perl es escribiendo código. Además de CPAN, ¿qué le mostrarías a un programador para que entendiera la expresividad de Perl, la cantidad de funcionalidad proporcionada por CPAN, manteniendo todo limpio y ordenado para que se sienta cómodo con el idioma? Guardaré las cosas difíciles para otro día.

use warnings; use strict; # use A_CPAN_LIB; sub example_func1 { # use the CPAN lib or demonstrate some basic feature of Perl } example_func1(); # ... __END__ Esto es lo que se me ocurrió ...

Donde empezar

Créalo o no, las páginas del hombre. Ok, usaremos perldoc para ser amigables con Windows.

Las páginas perldoc (o las páginas man en Unix / Mac) son excelentes para Perl. Puede escribir man perl o perldoc perl

perldoc perl ; # Mostrar una descripción general y docenas de tutoriales; hombre perl es lo mismo.

perldoc perlintro ; # Una introducción a Perl para principiantes; hombre perlintro
perldoc perlrequick ; # Un ejemplo Perl regex tutoral

perldoc perlfunc ; # Muestra las funciones incorporadas de Perl
perldoc perlre ; # Más Perl regex.

CPAN

Hay miles de bibliotecas en el sitio de biblioteca de Perl CPAN.
perl -MCPAN -e ''instalar DateTime''

perldoc también funciona para módulos instalados: módulo perldoc

perldoc DateTime
perldoc DBI ; # API de base de datos. Si esto no funciona, instálelo:
perl -MCPAN -e ''instalar DBI''

Módulos recomendados

perl -MCPAN -e ''instalar Moose'' ; # Perl hace OOP
perldoc Moose ; # Cuéntame más sobre el alce
perl -MCPAN -e ''instalar CGI'' ; # Páginas web rápidas y sucias
perl -MCPAN -e ''instalar catalizador'' ; # Big web framework. Algunas veces tienen problemas para instalar. Google es tu amigo
perl -MCPAN -e ''instalar CGI :: Aplicación'' ; # Otro marco web
perldoc CGI :: Aplicación ; # Eche un vistazo rápido a los documentos

Un poco de preguntas y respuestas.

P: ¿Por qué debería usar Perl en lugar de Ruby o Python?
R: Más personas usan Perl. Hay más bibliotecas para Perl (mucho más). Perl es un gran lenguaje GTD.

P: ¿Por qué la gente odia a Perl?
R: Puedes hacer cosas feas con eso. Recuerde usar advertencias; usar estricto; en todo tu código Puede verificar su código antes de ejecutarlo. perl -c hello.pl


Temas de Perl

Usando Perl con bases de datos

http://www.perl.com/pub/a/1999/10/DBI.html

Usando Perl para desarrollo web

http://www.catalystframework.org

OO Perl

http://www.iinteractive.com/moose

Perl 1-liners

http://www.perlmonks.org/?node_id=470397
http://sial.org/howto/perl/one-liner

Otros tutoriales

http://perlmonks.org/index.pl?node=Tutorials

Libros

Hay docenas.
http://www.amazon.com/s/ref=nb_ss_gw?url=search-alias%3Dstripbooks&field-keywords=perl&x=0&y=0

Sitios web

Perlmonks
Perl.org
Pleac
Las características ocultas de Perl de StackOverFlow
Preguntas frecuentes sobre CPAN
Artículos de Randall Schwartz


Obteniendo ayuda

Perl Nabble Foro
Canales de IRC: freenode, irc.perl.org. Hay varios:

irc: //irc.perl.org/perl
irc: //irc.perl.org/catalyst
irc: //irc.freenode.net/modperl
irc: //irc.perl.org/perl6


Cubriría listas y hash primero. (Basura ecológicamente patético Lister, recuerda.) Muéstrale cuánto más bonito es Foreach que un estilo C para.

Si proviene de C / C ++ sería bueno referirlo a http://perldoc.perl.org/perltrap.html o ''perldoc perltrap''. Contiene las diferencias más obvias a tener en cuenta.


Definitivamente mostrarles lo fácil que es usar expresiones regulares en Perl.


Eso es básicamente una pregunta orientada a tareas.

Si van a usarlo para el análisis, muéstreles lo fácil que es manipular STDIN y el archivo de E / S.

Si lo van a usar para bases de datos, muéstreles cómo obtener hashrefs de los resultados de la consulta y eso debería sorprenderlos.

Perl por lo general tiene alguna forma de hacer casi cualquier tarea súper rápido. Elija la tarea que necesitan hacer.

Pero definitivamente enséñales a usar mi y local. Haga hincapié en la importancia de mi y que hará que sus experiencias sean más felices.


La idea que me vino a la cabeza fue hacer que transfirieran información de un formato a otro. Por ejemplo, obtener datos xml y transferirlos a JSON , para usarlos en una página web.

cpan JSON XML::Simple

use strict; use warnings; use JSON; use XML::Simple; my $data; { open( my $file, ''<'', ''filename.xml'' ) or die; $data = XMLin($file); close $file; } { open( my $file, ''>'', ''filename.json'' ) or die; print $file to_json( $data ); close $file; }


Programador experimentado o no, en 30 minutos no puede pretender enseñar nada, y mucho menos a Perl. A lo sumo, puede tratar de iluminarlo con algunas frases geniales (proporcione su versión completa de Java, para comparar).


Si es un programador con experiencia, le pueden gustar Smart Comments , POD , cierres , el conmutador -d:DProf y dprofpp , one-liners, Perl Critic , Moose , __DATA__ o map . (Lo que es una mezcla loca de hecho.) Le explicaría desde el principio que Perl es un lenguaje con mucha magia, pero que es libre de elegir cuándo seguir un código simple y cuándo dibujar una varita mágica. Los programadores experimentados no le temen a las opciones :-)


Perl tiene dos cosas que probablemente sean extrañas incluso para los programadores experimentados, por lo que quizás deban mencionarse desde el principio para que no se escapen gritando.

Contexto: casi todas las funciones en Perl tienen 2 comportamientos. Cuando se llama en un "contexto escalar" y hace una cosa, cuando se llama en un "contexto de lista", hace algo más. Esto puede parecer raro y extraño (y lo es, en los lenguajes de máquina) pero es simplemente el concepto de lenguaje natural de "singular" y "plural" aplicado a un lenguaje de programación.

Variables: Perl tiene 2 sistemas de variables completamente diferentes y separados. Variables léxicas (my) y variables de paquete (nuestra). Las variables léxicas son "normales" si ha utilizado la mayoría del lenguaje de programación. Las variables del paquete (es decir, las variables dinámicas) son extrañas, a menos que haya usado algo como Lisp. "Siempre prefieren las variables léxicas sobre las variables del paquete, excepto cuando no se puede".


Solo mi 2c, pero en relación con CPAN, ¿qué les parece el problema de dividir el texto en inglés en oraciones?

Al principio, eso parece simple: una oración es una cadena con un punto al final.

Pero después de un momento de reflexión, un programador encontrará que hay todo tipo de complejidades que surgen. Los períodos pueden estar en el medio, si hay números decimales o abreviaturas; las oraciones pueden terminar con otras cosas, como "?", "!" o "..."; ''un período seguido de un espacio'' tampoco ayuda, porque ¿qué pasa con EOF?

En resumen, cuando se trata de Perl, alguien más ha pensado en todo lo que hay en esa lista y más. Entonces usas Lingua :: EN :: Sentence .


Escribimos un libro completo sobre eso llamado Learning Perl . Echa un vistazo a la tabla de contenidos.

Este libro es un producto de la enseñanza de Perl desde 1995. No está orientado a ninguna aplicación en particular, y muestra a las personas las partes de Perl que usarán para el 80% de su programación Perl. Lo actualizamos para Perl 5.10 e incluimos secciones sobre el uso de CPAN.

Buena suerte, :)


Depende del tipo de programación en que se experimente este "Programador Experimentado".

Si han hecho mucha programación de shell, es probable que Perl les impresione en su personalidad súper-awk: haga algo de extracción práctica e informes mediante el uso de expresiones regulares y plantillas.

Si se parecen más a los programadores C a los que les gusta trabajar con estructuras de datos complejas, muéstreles con qué facilidad puede generar un hash de hashes y qué tan rápido se ejecuta el código resultante.

... y así.


Estoy de acuerdo con algunos de los otros comentaristas en que realmente depende del tipo de tarea para la que Perl se está utilizando. ¿Es esta persona un administrador de sistema de Windows? Luego me gustaría cubrir el uso de WMI de Perl (scriptomatic sería un buen recurso aquí).

Tomaría una copia del "Perl Cookbook" de Oreilley y encontraría algunos temas interesantes de allí. Aquí hay un enlace al libro aquí: enlace de texto

Una de mis cosas favoritas en Perl es lo fácil que es comparar listas, buscar uniones, intersecciones o diferencias en listas únicas (receta 4.9 en Perl Cookbook). Te ayuda a apreciar el poder de Perl.