Re: Modo verbose en Perl?

2009-03-11 Por tema Morenisco

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?

2009-03-10 Por tema Cristian Gutierrez
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?

2009-03-10 Por tema Morenisco

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?

2009-03-10 Por tema Juan C. Olivares
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?

2009-03-10 Por tema Morenisco

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?

2009-03-10 Por tema Alvaro Herrera
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-03-10 Por tema Mario Gonzalez
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?

2009-03-09 Por tema Miguel Oyarzo O.

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?

2009-03-09 Por tema Alvaro Herrera
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?

2009-03-09 Por tema Marcos Ramirez
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?

2009-03-09 Por tema Julio Pacheco T.

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?

2009-03-09 Por tema Pablo Jiménez
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?

2009-03-09 Por tema Miguel Oyarzo O.

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?

2009-03-09 Por tema Alvaro Herrera
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?

2009-03-09 Por tema Marcos Ramirez
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?

2009-03-08 Por tema Alvaro Herrera
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)