Re: Modo verbose en Perl?
Alvaro Herrera wrote: [...] ¿Y no te sale más facil en sh con mutt? Bueno, la verdad es que nunca me animo mucho mutt, pero es una buena posibilidad, para la proxima si :) Saludos. -- Morenisco. Centro de Difusión del Software Libre. http://www.cdsl.cl http://santiago.flisol.cl Blog: http://morenisco.noc-root.net
Re: Modo verbose en Perl?
moreni...@cdsl.cl wrote: Hola, Hice un pequenho script en perl, y me gustaria ver como va ejecutando el script, de la misma forma cuando uno ejecuta un script con sh -x nombre_script. La opcion -W muestra todos los warnings, pero no es lo que estoy buscando. Por otra parte, el debugger debo ejecutarlo desde la consola del debugger (no se si esta la opcion de debugear desde el mismo script), de todas formas tampoco es lo que busco. Intente usar el modulo Devel::ebug , pero durante la instalacion con perl -e shell -MCPAN (install Devel::ebug) esta se cae en los tests. Alguna idea? ,[ libdebug-trace-perl - module to trace Perl subroutine calls ] | | crgut...@dogbert:~$ perl -MDebug::Trace=foo,bar -e 'sub foo{} sub bar{} foo(bar())' | TRACE:main::bar() called at -e line 1 package main | TRACE:main::bar() returned: () | TRACE:main::foo() called at -e line 1 package main | TRACE:main::foo() returned ` Mas info disponible via `perldoc Debug::Trace'. -- Cristian Gutierrez
Re: Modo verbose en Perl?
Cristian Gutierrez wrote: [...] ,[ libdebug-trace-perl - module to trace Perl subroutine calls ] | | crgut...@dogbert:~$ perl -MDebug::Trace=foo,bar -e 'sub foo{} sub bar{} foo(bar())' | TRACE:main::bar() called at -e line 1 package main | TRACE:main::bar() returned: () | TRACE:main::foo() called at -e line 1 package main | TRACE:main::foo() returned ` Mas info disponible via `perldoc Debug::Trace' Gracias Cristian, pero en realidad no busco un trace, sino mas bien que muestre si esta copiando un archivo, enviando un email, las operaciones que realiza el script, sin llegar a hacer un trace, ni debugear funciones, etc. Saludos. -- Morenisco. Centro de Difusión del Software Libre. http://www.cdsl.cl http://santiago.flisol.cl Blog: http://morenisco.noc-root.net
Re: Modo verbose en Perl?
On Tue, Mar 10, 2009 at 10:34 PM, Morenisco moreni...@cdsl.cl wrote: Cristian Gutierrez wrote: [...] ,[ libdebug-trace-perl - module to trace Perl subroutine calls ] | | crgut...@dogbert:~$ perl -MDebug::Trace=foo,bar -e 'sub foo{} sub bar{} foo(bar())' | TRACE:main::bar() called at -e line 1 package main | TRACE:main::bar() returned: () | TRACE:main::foo() called at -e line 1 package main | TRACE:main::foo() returned ` Mas info disponible via `perldoc Debug::Trace' Gracias Cristian, pero en realidad no busco un trace, sino mas bien que muestre si esta copiando un archivo, enviando un email, las operaciones que realiza el script, sin llegar a hacer un trace, ni debugear funciones, etc. Tal vez es una pregunta básica, pero... ¿Pq no le mandas un print Estoy haciendo esto? Saludos. -- Morenisco. Centro de Difusión del Software Libre. http://www.cdsl.cl http://santiago.flisol.cl Blog: http://morenisco.noc-root.net -- Atte, Juan Cristóbal Olivares == Renovarse o morir: Mi PC de los sesenta tenía veinte mil militantes. Y mi PC del siglo XXI tiene cuarenta gigabytes.
Re: Modo verbose en Perl?
Juan C. Olivares wrote: [...] Tal vez es una pregunta básica, pero... ¿Pq no le mandas un print Estoy haciendo esto? Buena pregunta :) Bueno, no son tantas lineas, pero supongo que es incomodo andar poniendo marcas por todas partes, pero si el script crece ya se hace insostenible. Ademas se me vino a la mente (en esta parte me confieso) porque estuve probando con Python antes, y encontre el modulo smtplib el cual muestra los detalles de la conexion al enviar un email (el modulo Net::SMTP de Perl tambien tiene debug, y no es una discusion entre los dos lenguajes), lo cual me trajo a la mente el -x de sh, y que en el fondo seria muy util tener esa posibilidad en Perl, a modo de debugger basico, cuando uno no es programador. A todo esto, cuando intente enviar un adjunto con python se me complico la existencia (definiendo los MIME types, que la base 64, etc) asi es que al final termine haciendo con Perl no mas. Saludos! -- Morenisco. Centro de Difusión del Software Libre. http://www.cdsl.cl http://santiago.flisol.cl Blog: http://morenisco.noc-root.net
Re: Modo verbose en Perl?
Morenisco escribió: A todo esto, cuando intente enviar un adjunto con python se me complico la existencia (definiendo los MIME types, que la base 64, etc) asi es que al final termine haciendo con Perl no mas. ¿Y no te sale más facil en sh con mutt? -- Alvaro Herrerahttp://www.advogato.org/person/alvherre Find a bug in a program, and fix it, and the program will work today. Show the program how to find and fix a bug, and the program will work forever (Oliver Silfridge)
Re: Modo verbose en Perl?
2009/3/10 Alvaro Herrera alvhe...@alvh.no-ip.org: Morenisco escribió: A todo esto, cuando intente enviar un adjunto con python se me complico la existencia (definiendo los MIME types, que la base 64, etc) asi es que al final termine haciendo con Perl no mas. ¿Y no te sale más facil en sh con mutt? Puede ser más simple :-) Sin embargo, si quieres realmente usar Python, te dejo una rutina que usamos (usaba, en realidad) para extraer un mensaje de una casilla ya sea por POP3 o IMAP. El proceso de la extracción es muy idéntico al tema de preparar un mensaje para enviarlo. Si gustas leer el código[1] busca por el método handle_msg() [1]https://gdium.mandriva.com/svn/gdium/gdesklets/Controls/Connect/__init__.py -- http://www.mgonzalez.cl/
Re: Modo verbose en Perl?
Alvaro Herrera escribió: Morenisco escribió: Hola, Hice un pequenho script en perl, y me gustaria ver como va ejecutando el script, de la misma forma cuando uno ejecuta un script con sh -x nombre_script. No se puede hacer exactamente lo mismo que sh -x en Perl, porque el script es compilado antes de la ejecucion. Lo que yo hago (muy a lo lejos, porque me resulta incomodo) es usar perl -d -- mira el manual perldebtut. Compilado? Querras decir interpretado? ;-) be happy -- = Miguel A. Oyarzo O. Ingeniería Redes y Comunicaciones Linux User: # 483188 - counter.li.org Austro Internet S.A. INALAMBRICA S.A. Teléfono: [+05661] 710030 Punta Arenas - Chile =
Re: Modo verbose en Perl?
Miguel Oyarzo O. escribió: Alvaro Herrera escribió: No se puede hacer exactamente lo mismo que sh -x en Perl, porque el script es compilado antes de la ejecucion. Lo que yo hago (muy a lo lejos, porque me resulta incomodo) es usar perl -d -- mira el manual perldebtut. Compilado? Querras decir interpretado? ;-) Quise decir compilado. Perl has always had a compiler: your source is compiled into an internal form (a parse tree) which is then optimized before being run. perlcompile(1) La fase de optimización es justamente lo que hace imposible lo de sh -x. -- Alvaro Herrera http://www.amazon.com/gp/registry/5ZYLFMCVHXC And as an added bonus, now my computer goes to the toilet for me, leaving me free to spend time on more useful activities! yay slug codefests! (C. Parker)
Re: Modo verbose en Perl?
On Mon, 2009-03-09 at 11:25 +0100, Miguel Oyarzo O. wrote: Alvaro Herrera escribió: Morenisco escribió: Hola, Hice un pequenho script en perl, y me gustaria ver como va ejecutando el script, de la misma forma cuando uno ejecuta un script con sh -x nombre_script. No se puede hacer exactamente lo mismo que sh -x en Perl, porque el script es compilado antes de la ejecucion. Lo que yo hago (muy a lo lejos, porque me resulta incomodo) es usar perl -d -- mira el manual perldebtut. Compilado? Querras decir interpretado? ;-) ninguno y ambos :) Aunque Perl esta catalogado tradicionalmente como lenguaje interpretado, al cargar un programa pasa por una etapa de compilacion donde se genera un parse tree, al que a su vez se le aplican optimizaciones como las de cualquier compilador (constant folding, eliminar codigo inalcanzable, entre otros). Una vez que se termina esa etapa, se pasa el resultado al interprete que ejecuta efectivamente el resultado obtenido. De ahi que es distinto usar use Modulo a require Modulo (etapa de compilacion vs etapa de ejecucion), BEGIN { } a eval, por mencionar algunos casos. Saludos -- Marcos Ramirez mramir...@armada.cl
Re: Modo verbose en Perl?
Miguel Oyarzo O. escribió: Alvaro Herrera escribió: Morenisco escribió: Hola, Hice un pequenho script en perl, y me gustaria ver como va ejecutando el script, de la misma forma cuando uno ejecuta un script con sh -x nombre_script. No se puede hacer exactamente lo mismo que sh -x en Perl, porque el script es compilado antes de la ejecucion. Lo que yo hago (muy a lo lejos, porque me resulta incomodo) es usar perl -d -- mira el manual perldebtut. Compilado? Querras decir interpretado? ;-) be happy Compilado en memoria, pero compilado a fin de cuentas. Saludos, -- Julio Pacheco T. Consultor Tecnológico ProVectis S.A. Usuario Linux #53335
Re: Modo verbose en Perl?
On Mon, Mar 09, 2009 at 11:25:52AM +0100, Miguel Oyarzo O. wrote: Alvaro Herrera escribió: Morenisco escribió: Hola, Hice un pequenho script en perl, y me gustaria ver como va ejecutando el script, de la misma forma cuando uno ejecuta un script con sh -x nombre_script. No se puede hacer exactamente lo mismo que sh -x en Perl, porque el script es compilado antes de la ejecucion. Lo que yo hago (muy a lo lejos, porque me resulta incomodo) es usar perl -d -- mira el manual perldebtut. Compilado? Querras decir interpretado? ;-) http://oreilly.com/catalog/pperl3/chapter/ch18.html -- Pablo Jiménez
Re: Modo verbose en Perl?
Julio Pacheco T. escribió: Miguel Oyarzo O. escribió: Alvaro Herrera escribió: Morenisco escribió: Hola, Hice un pequenho script en perl, y me gustaria ver como va ejecutando el script, de la misma forma cuando uno ejecuta un script con sh -x nombre_script. No se puede hacer exactamente lo mismo que sh -x en Perl, porque el script es compilado antes de la ejecucion. Lo que yo hago (muy a lo lejos, porque me resulta incomodo) es usar perl -d -- mira el manual perldebtut. Compilado? Querras decir interpretado? ;-) be happy Compilado en memoria, pero compilado a fin de cuentas. Saludos, Pero esa compilacion es SOLO en su primera face. El codigo resultante se INTERPRETA en la memoria (asi como seria Java o python). Esa etapa previa de compilacion no cumple con la definicion de COMPLIACION, la interpretacion final define este lenguaje. El lenguaje es interpretado, aunque se depure en una etapa anterior. -- = Miguel A. Oyarzo O. Ingeniería Redes y Comunicaciones Linux User: # 483188 - counter.li.org Austro Internet S.A. INALAMBRICA S.A. Teléfono: [+05661] 710030 Punta Arenas - Chile =
Re: Modo verbose en Perl?
Miguel Oyarzo O. escribió: Pero esa compilacion es SOLO en su primera face. El codigo resultante se INTERPRETA en la memoria (asi como seria Java o python). Eso es tema de laargos debates :-) (para los cuales, felizmente, yo no tengo tiempo) -- Alvaro Herrera http://www.amazon.com/gp/registry/CTMLCN8V17R4 That sort of implies that there are Emacs keystrokes which aren't obscure. I've been using it daily for 2 years now and have yet to discover any key sequence which makes any sense.(Paul Thomas)
Re: Modo verbose en Perl?
On Mon, 2009-03-09 at 12:39 +0100, Miguel Oyarzo O. wrote: Julio Pacheco T. escribió: Miguel Oyarzo O. escribió: Alvaro Herrera escribió: Morenisco escribió: [Detalles de perl] Compilado? Querras decir interpretado? ;-) Compilado en memoria, pero compilado a fin de cuentas. Pero esa compilacion es SOLO en su primera face. El codigo resultante se INTERPRETA en la memoria (asi como seria Java o python). No hay codigo resultante. En el caso de perl, es un parse tree, que vendria a ser una representacion interna del codigo a ejecutar, que no es en ningun caso, codigo fuente. Esa etapa previa de compilacion no cumple con la definicion de COMPLIACION, La primera etapa es un compilador en todo su derecho a ser considerado asi. Que no se genere assembler, C, Java u otro lenguaje es un detalle sin importancia. la interpretacion final define este lenguaje. Excepto que el interprete final esta mas cercano a un modulo de run-time que a un interprete en el sentido estricto (no recibe codigo fuente). El lenguaje es interpretado, aunque se depure en una etapa anterior. Estas definiciones de interpretado, pseudocompilado, compilado ya no son tan disjuntas como solian serlo y esa separacion ya no es tan evidente como cuando fueron acuñadas. En conclusion, si quieres decir que perl es interpretado estas tan en lo cierto como si dices que es compilado o incluso pseudocompilado, con la salvedad que no se genera un archivo intermedio, ni hace falta hacerlo. Saludos -- Marcos Ramirez mramir...@armada.cl
Re: Modo verbose en Perl?
Morenisco escribió: Hola, Hice un pequenho script en perl, y me gustaria ver como va ejecutando el script, de la misma forma cuando uno ejecuta un script con sh -x nombre_script. No se puede hacer exactamente lo mismo que sh -x en Perl, porque el script es compilado antes de la ejecucion. Lo que yo hago (muy a lo lejos, porque me resulta incomodo) es usar perl -d -- mira el manual perldebtut. -- Alvaro Herrera http://www.flickr.com/photos/alvherre/ MySQL is a toy compared to PostgreSQL. (Randal L. Schwartz) (http://archives.postgresql.org/pgsql-general/2005-07/msg00517.php)