From emhn at telcel.net.ve Tue Nov 14 07:41:05 2000 From: emhn at telcel.net.ve (Ernesto Hernández-Novich) Date: Wed Aug 4 23:59:20 2004 Subject: Modulos de Apache (Solaris) In-Reply-To: <200011131830.AA24117326@mail.ciudadfutura.com> References: <200011131830.AA24117326@mail.ciudadfutura.com> Message-ID: <00111409594706.29884@freakazoid> On Mon, 13 Nov 2000, you wrote: > Hola a todos, > > En esta oportunidad les escribo para preguntarles si saben.... > > ¿qué debo hacer (o a donde tengo que ir, o que parámetro de "man" debo utilizar) > para instalar el modulo de apache que me permite crear "gif on the fly"? Yo conozco al menos dos módulos Apache que hacen eso: mod_gifcounter en http://www.teaser.fr/~jcmichot/gifcounter/ mod_cntr en http://www.dan.co.jp/webcounter/ Probé los dos, y no me gusta ninguno (preferencias personales, nada que ver con lo técnico :-). En particular, me parece una solución simplista para un problema mucho más genérico: generar imágenes en demanda desde un programa. Aparte, ambas trabajan con GIF exclusivamente (puede ser que mod_cntr haya evolucionado en ese sentido y tenga soporte PNG). > ...o en pocas palabras crear un archivo GIF en momento de ejecución cuanndo el > usuario solicita la petición a través de un Perl Script (si no me equivoco > creo que eso es lo que hace), imagino que el ejemplo típico sería el de crear > el "contador gráfico". Siempre me parece más práctico hacerlo desde Perl, porque puedes usarlo tanto para generar dígitos para un contador, como para generar _cualquier_ gráfico que necesites. Para esto necesitas libgd, que genera PNG en sus versiones más recientes, y anteriormente GIF; luego instalas el módulo GD que obtienes desde CPAN (www.perl.com). Hay una familia completa de módulos Perl basados en GD que permiten crear gráficos de negocio 2 y 3D, uso de fonts TT y hasta la graficación de funciones. -- Ernesto Hernández-Novich - Running Linux 2.2.17 i686 - Unix: Live free or die! -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCS d+(-) s+: a C+++$ UBLAVHIOSC++++$ P++++$ L+++$ E- W+ N++ ?o ?K w--- O- M- V PS+ PE Y+ PGP>++ t+ 5 X+ R* tv+ b++ DI+++$ D++ G>++ e++ h+ r+ y++ -----END GEEK CODE BLOCK----- ------------------------------------------------------------------------ Enviar e-mail a colocando en el cuerpo: "UNSUBSCRIBE caracas-pm-list" para desuscribirse. "INFO caracas-pm-list" para conocer las reglas de etiqueta. ------------------------------------------------------------------------ From eceecmo at rioja.es.eu.ericsson.se Fri Nov 24 00:52:25 2000 From: eceecmo at rioja.es.eu.ericsson.se (Enrique Cabello) Date: Wed Aug 4 23:59:20 2004 Subject: Hola lista Message-ID: <3A1E1029.31C12AB@rioja.ericsson.se> Hola, Soy nuevo en esta lista y como la cortesia obliga, me presento. ?Hay alguien ahi? No he recibido ningun mail de la lista. ------------------------------------------------------------------------ Enviar e-mail a colocando en el cuerpo: "UNSUBSCRIBE caracas-pm-list" para desuscribirse. "INFO caracas-pm-list" para conocer las reglas de etiqueta. ------------------------------------------------------------------------ From emhn at telcel.net.ve Fri Nov 24 06:39:36 2000 From: emhn at telcel.net.ve (Ernesto Hernández-Novich) Date: Wed Aug 4 23:59:20 2004 Subject: Hola lista In-Reply-To: <3A1E1029.31C12AB@rioja.ericsson.se> References: <3A1E1029.31C12AB@rioja.ericsson.se> Message-ID: <00112408401001.13241@freakazoid> On Fri, 24 Nov 2000, you wrote: > Hola, > Soy nuevo en esta lista y como la cortesia obliga, me presento. > > ¿Hay alguien ahi? No he recibido ningun mail de la lista. Si hay gente. Sólo que la lista no tiene mucho tráfico que se diga. Si tienes preguntas, hazlas nomás. -- Ernesto Hernández-Novich - Running Linux 2.2.17 i686 - Unix: Live free or die! -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCS d+(-) s+: a C+++$ UBLAVHIOSC++++$ P++++$ L+++$ E- W+ N++ ?o ?K w--- O- M- V PS+ PE Y+ PGP>++ t+ 5 X+ R* tv+ b++ DI+++$ D++ G>++ e++ h+ r+ y++ -----END GEEK CODE BLOCK----- ------------------------------------------------------------------------ Enviar e-mail a colocando en el cuerpo: "UNSUBSCRIBE caracas-pm-list" para desuscribirse. "INFO caracas-pm-list" para conocer las reglas de etiqueta. ------------------------------------------------------------------------ From emhn at telcel.net.ve Fri Nov 24 06:41:47 2000 From: emhn at telcel.net.ve (Ernesto Hernández-Novich) Date: Wed Aug 4 23:59:20 2004 Subject: Perl para el día a día Message-ID: <00112408550202.13241@freakazoid> Suficiente Perl para hacer casi todo. Esta es un parte de una lista canónica que Tom Christiansen (el segundo a bordo en la comunidad Perl) publicó en una ocasión en que le preguntaron ejemplos típicos de uso de Perl diario. Extraje algunas de las más interesantes en aquella ocasión, particularmente aquellas que apoyan el trabajo de administración de sistemas y de programación Perl. # Ejecutar my_file perl my_file # Ejecutar el debugger "standalone" (Se puede cambiar el 42 pero, ¿quién # puede pensar en un número mejor?) perl -d -e 42 # Ejecutar my_file, pero con advertencias adicionales. Personalmente, todos mis # programas los ejecuto con -w para estar seguro que no hice ninguna cosa rara. perl -w my_file # Ejecutar my_file a través del debugger perl -d my_file # Verificar sintaxis, con advertencias adicionales, _sin_ ejecutar el programa. perl -wc my_file # Muy útil al final de "find foo -print |" y mucho más rápido que # "find foo -print | xargs rm" perl -nle unlink # El típico programa de una línea perl -e 'print "hello world!\n"' # Suma la primera y penúltima columnas en un archivo cuyas columnas están # separadas por espacios en blanco perl -lane 'print $F[0] + $F[-2]' # Imprime las líneas 15 a 17 de los archivos indicados perl -ne 'print if 15 .. 17' *.pod # Edita los archivos indicados, sustituyendo "foo" por "bar". Deja una copia # del archivo original con extensión .bak (si no quieren la copia, pongan -i # solamente). perl -p -i.bak -e 's/\bfoo\b/bar/g' *.c # Imprime las primeras cincuenta líneas de cada archivo perl -pe 'exit if $. > 50' f1 f2 f3 ... # Borra las primeras diez líneas del archivo, dejando una copia del original # en foo.txt.old (si no quieren la copia, pongan -i solamente). perl -i.old -ne 'print unless 1 .. 10' foo.txt # Imprime los archivos indicados invirtiendo el orden de líneas, i.e. la # primera línea se convierte en la última, pero las líneas mantienen su # legibilidad. perl -e 'print reverse <>' file1 file2 file3 .... # Encuentra palíndromos (palabras capicúa) perl -lne 'print if $_ eq reverse' /usr/dict/words # Imprime los archivos indicados invirtiendo byte a byte, i.e. el primer # caracter se convierte en el último. perl -0777e 'print scalar reverse <>' f1 f2 f3 ... # Imprime los archivos indicados invirtiendo por párrafos, i.e. el primer # párrafo se convierte en el último. Un "párrafo" es un bloque de líneas que # tiene una línea en blanco al final. perl -00 -e 'print reverse <>' file1 file2 file3 .... # Incrementa cualquier número encontrado en los archivos. perl -i -pe 's/(\d+)/ 1 + $1 /ge' file1 file2 .... # Imprime los archivos invirtiendo cada línea. perl -nle 'print scalar reverse $_' file1 file2 file3 .... # Elimina todas las líneas del archivo, excepto aquellas encerradas entre # "START" y "END" perl -i.old -ne 'print unless /^START$/ .. /^END$/' foo.txt # Editor binario (mucho cuidado!) perl -i.bak -pe 's/Mozilla/Slopoke/g' /usr/local/bin/netscape # Busca palabras duplicadas perl -0777 -ne 'print "$.: duplicada $_\n" while /\b(\w+)\b\s+\b\1\b/gi' Si acompañan estos ejercicios con la lectura de man perlrun, man perlfunc, man perlop y man perlregexp, tendrán una buena visión de lo que hace el lenguaje. -- Ernesto Hernández-Novich - Running Linux 2.2.17 i686 - Unix: Live free or die! -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCS d+(-) s+: a C+++$ UBLAVHIOSC++++$ P++++$ L+++$ E- W+ N++ ?o ?K w--- O- M- V PS+ PE Y+ PGP>++ t+ 5 X+ R* tv+ b++ DI+++$ D++ G>++ e++ h+ r+ y++ -----END GEEK CODE BLOCK----- ------------------------------------------------------------------------ Enviar e-mail a colocando en el cuerpo: "UNSUBSCRIBE caracas-pm-list" para desuscribirse. "INFO caracas-pm-list" para conocer las reglas de etiqueta. ------------------------------------------------------------------------ From emhn at telcel.net.ve Fri Nov 24 09:29:51 2000 From: emhn at telcel.net.ve (Ernesto Hernández-Novich) Date: Wed Aug 4 23:59:20 2004 Subject: [INFO] Presentación de Perl 6 Message-ID: <00112411323906.13241@freakazoid> Las láminas y la transcripción de la charla en relación a Perl 6 que ofreciera Larry Wall durante el Atlanta Linux Showcase 2000, están disponibles en línea. Las láminas (las mismas que presenté durante LinuxWeek2000), están en http://kiev.wall.org/~larry/als/ La transcripción de la charla (en inglés, texto plano), puede encontrarse en http://dev.perl.org/~ask/als/larry-als.txt. En medio del texto hay referencias de la forma "[Lamina]" de manera que pueda combinarse la lectura del texto con las láminas antes mencionadas. -- Ernesto Hernández-Novich - Running Linux 2.2.17 i686 - Unix: Live free or die! -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCS d+(-) s+: a C+++$ UBLAVHIOSC++++$ P++++$ L+++$ E- W+ N++ ?o ?K w--- O- M- V PS+ PE Y+ PGP>++ t+ 5 X+ R* tv+ b++ DI+++$ D++ G>++ e++ h+ r+ y++ -----END GEEK CODE BLOCK----- ------------------------------------------------------------------------ Enviar e-mail a colocando en el cuerpo: "UNSUBSCRIBE caracas-pm-list" para desuscribirse. "INFO caracas-pm-list" para conocer las reglas de etiqueta. ------------------------------------------------------------------------ From emhn at telcel.net.ve Fri Nov 24 09:33:31 2000 From: emhn at telcel.net.ve (Ernesto Hernández-Novich) Date: Wed Aug 4 23:59:20 2004 Subject: Concurso de programación ofuscada Perl Message-ID: <00112411434008.13241@freakazoid> Seriamente les sugiero tratar de comprender como funcionan los programitas, más allá de lo enredados que se vean, tienen técnicas de programación interesantes y eficientes. http://www.itknowledge.com/tpj/obfusc-5-awards.html -- Ernesto Hernández-Novich - Running Linux 2.2.17 i686 - Unix: Live free or die! -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCS d+(-) s+: a C+++$ UBLAVHIOSC++++$ P++++$ L+++$ E- W+ N++ ?o ?K w--- O- M- V PS+ PE Y+ PGP>++ t+ 5 X+ R* tv+ b++ DI+++$ D++ G>++ e++ h+ r+ y++ -----END GEEK CODE BLOCK----- ------------------------------------------------------------------------ Enviar e-mail a colocando en el cuerpo: "UNSUBSCRIBE caracas-pm-list" para desuscribirse. "INFO caracas-pm-list" para conocer las reglas de etiqueta. ------------------------------------------------------------------------ From luisrrl at cantv.net Sat Nov 25 09:47:20 2000 From: luisrrl at cantv.net (=?iso-8859-1?Q?Luis_Rodr=EDguez?=) Date: Wed Aug 4 23:59:20 2004 Subject: =?iso-8859-1?Q?RE:_Concurso_de_programaci=F3n_ofuscada_Perl?= References: <00112411434008.13241@freakazoid> Message-ID: <000501c0574b$a436ea80$12efc4a1@padre> Ernesto Hern?ndez-Novich escribi?: > Seriamente les sugiero tratar de comprender como funcionan los programitas, m?s > all? de lo enredados que se vean, tienen t?cnicas de programaci?n interesantes y > eficientes. > > http://www.itknowledge.com/tpj/obfusc-5-awards.html Eso de tratar de comprender c?mo funcionan, incluye tambi?n tratar de comprender c?mo ejecutarlos ?no? Algunos est?n encriptados. Saludos. -- Luis Rodr?guez Puerto La Cruz ------------------------------------------------------------------------ Enviar e-mail a colocando en el cuerpo: "UNSUBSCRIBE caracas-pm-list" para desuscribirse. "INFO caracas-pm-list" para conocer las reglas de etiqueta. ------------------------------------------------------------------------ From emhn at telcel.net.ve Sat Nov 25 21:34:48 2000 From: emhn at telcel.net.ve (Ernesto Hernandez-Novich) Date: Wed Aug 4 23:59:20 2004 Subject: Concurso de programación ofuscada Perl In-Reply-To: <000501c0574b$a436ea80$12efc4a1@padre> References: <00112411434008.13241@freakazoid> <000501c0574b$a436ea80$12efc4a1@padre> Message-ID: <00112523352300.00504@mithrandir> On Sat, 25 Nov 2000, Luis Rodríguez wrote: >Ernesto Hernández-Novich escribió: > > >> Seriamente les sugiero tratar de comprender como funcionan los >programitas, más >> allá de lo enredados que se vean, tienen técnicas de programación >interesantes y >> eficientes. >> >> http://www.itknowledge.com/tpj/obfusc-5-awards.html > >Eso de tratar de comprender cómo funcionan, incluye también tratar de >comprender cómo ejecutarlos ¿no? > >Algunos están encriptados. Ninguno está encriptado aunque parezca :-) -- Ernesto Hernández-Novich - Running Linux 2.2.17 i686 - Unix: Live free or die! -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCS d+(-) s+: a C+++$ UBLAVHIOSC++++$ P++++$ L+++$ E- W+ N++ ?o ?K w--- O- M- V PS+ PE Y+ PGP>++ t+ 5 X+ R* tv+ b++ DI+++$ D++ G>++ e++ h+ r+ y++ -----END GEEK CODE BLOCK----- ------------------------------------------------------------------------ Enviar e-mail a colocando en el cuerpo: "UNSUBSCRIBE caracas-pm-list" para desuscribirse. "INFO caracas-pm-list" para conocer las reglas de etiqueta. ------------------------------------------------------------------------ From luisrrl at cantv.net Sun Nov 26 14:29:02 2000 From: luisrrl at cantv.net (=?iso-8859-1?Q?Luis_Rodr=EDguez?=) Date: Wed Aug 4 23:59:20 2004 Subject: =?iso-8859-1?Q?RE:_Concurso_de_programaci=F3n_ofuscada_Perl?= References: <00112411434008.13241@freakazoid> <000501c0574b$a436ea80$12efc4a1@padre> <00112523352300.00504@mithrandir> Message-ID: <004f01c057e7$9e7985c0$9fefc4a1@padre> Ernesto Hernandez-Novich escribi?: > On Sat, 25 Nov 2000, Luis Rodr?guez wrote: > >Ernesto Hern?ndez-Novich escribi?: > > > > > >> Seriamente les sugiero tratar de comprender como funcionan los > >programitas, m?s > >> all? de lo enredados que se vean, tienen t?cnicas de programaci?n > >interesantes y > >> eficientes. > >> > >> http://www.itknowledge.com/tpj/obfusc-5-awards.html > > > >Eso de tratar de comprender c?mo funcionan, incluye tambi?n tratar de > >comprender c?mo ejecutarlos ?no? > > > >Algunos est?n encriptados. > > Ninguno est? encriptado aunque parezca :-) Me refer?a a lo que dice en el archivo _solution_ del ganador de la categor?a 1: This program was encrypted by using the bit string operators to XOR the program itself with a string of 0x01 characters. The program starts of by evaluating the encoded program against a string of 0x01 characters to restore itself, and then evaluates the resulting string to start the program. The program itself looks like this once unencoded: y sigue el listado del programa (ordenadito :-) Est?n un bastante dif?ciles para m?... apenas comienzo a meterle mano a Perl. Por eso intent? correrlos antes (algunos no me corren, otros me han sorprendido, porque no tienen tama?o para lo que hacen). Saludos. -- Luis Rodr?guez Puerto La Cruz. ------------------------------------------------------------------------ Enviar e-mail a colocando en el cuerpo: "UNSUBSCRIBE caracas-pm-list" para desuscribirse. "INFO caracas-pm-list" para conocer las reglas de etiqueta. ------------------------------------------------------------------------ From apadilla at ease.com.ve Thu Nov 30 15:43:38 2000 From: apadilla at ease.com.ve (Antonio Padilla) Date: Wed Aug 4 23:59:20 2004 Subject: DBD::Pg::st ERROR: Unterminated quoted string Message-ID: <3A26CA09.BD8C1CDA@ease.com.ve> Estimados , Estoy realizando un proceso de migraci?n de datos de una m?quina con SQLServer a una m?quina Linux, y el script que a continuaci?n presento funciona correctamente >>>>>>>>>>>>>>>>>>>>> comienzo de migrar <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< use DBI; use DBD::Sybase; # Load the interface with SQLserver use strict; .... my $self = shift; my $sSelectClient; $sSelectClient= $mDBSqlserverVtime->prepare(q { Select ClientSerial, rtrim(ClientId) , Speciality , rtrim(SpecialityDes ) SpecialityDes , MaritalSta , rtrim(MaritalStaDes ) MaritalStaDes , convert(varchar(10),AprobDate,120), convert(varchar(10),BirthDate,120) , rtrim(Blockade ) Blockade , rtrim(BlockadeDes ) BlockadeDes , Class , rtrim(ClassDes ) ClassDes , rtrim(ClieName ) ClieName , rtrim(FirstName ) FirstName , rtrim(lastName ) lastName , convert(varchar(10),DeathDate ,120) , convert(varchar(10),DriverDate ,120), Height , rtrim(HouseType ) HouseType , rtrim(HouseTypeDes ) HouseTypeDes , convert(varchar(10),InpDate,120), rtrim(License ) License , NoteClient , Nationalit , rtrim(NationalitDes ) NationalitDes , QCars , QChild , rtrim(Gender ) Gender , rtrim(GenderDes ) GenderDes , rtrim(Smoking ) Smoking , rtrim(SmokingDes ) SmokingDes , TitlePrefix , rtrim(TitlePrefixDes ) TitlePrefixDes, rtrim(Cuit ) Cuit , Weight , rtrim(CreditCard ) CreditCard , rtrim(CreditCardDes ) CreditCardDes , EconomicLev , rtrim(EconomicLevDes ) EconomicLevDes, Sport , rtrim(SportDes ) SportDes , EmplQua , Invoicing , ImageNum from eis_client}); $mDBPostgresEis->do(q {DELETE from Client} ); my $sInsert= $mDBPostgresEis->prepare( q { INSERT INTO Client ( ClientSerial , ClientId , Speciality , SpecialityDes , MaritalSta , MaritalStaDes , AprobDate , BirthDate , Blockade , BlockadeDes , Class , ClassDes , ClieName , FirstName , LastName , DeathDate , DriverDate , Height , HouseType , HouseTypeDes , InpDate , License , NoteClient , Nationalit , NationalitDes , QCars , QChild , Gender , GenderDes , Smoking , SmokingDes , TitlePrefix , TitlePrefixDes , Cuit , Weight , CreditCard , CreditCardDes , EconomicLev , EconomicLevDes , Sport , SportDes , EmplQua , Invoicing , ImageNum ) VALUES ? , ? ,? , ? , ? ,? , ? , ? ,? , ? , ? ,? , ? , ? ,? , ? , ? ,? , ? , ? ,? , ? , ? ,? , ? , ? ,? , ? , ? ,? , ? , ? ,? , ? , ? ,? , ? , ? ) }); $sSelectClient->execute() or die 'execute'; @CopyTable = $sSelectClient->fetchall_arrayref; my $nTotalRows = $#{$CopyTable[0]}; my $nIndexRec = 0; while ($nIndexRec <= $nTotalRows ){ @sVarAux = @{$CopyTable[0][$nIndexRec]}; $sInsert->execute(@sVarAux) || die "Insert client fallo: $DBI::errstr\n"; #LINEA DE ERROR $nIndexRec++; } $sSelectClient->finish; $sInsert->finish; @sVarAux = undef; @CopyTable = undef; >>>>>>>>>>>>>>>>>>>>>>>> fin de migrar <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Obviamente la conexi?n y desconexi?n son realizadas satisfactoriamente. La versi?n de Perl de esta m?quina es v5.6.0 built for i586-linux La versi?n de Postgres es psql (PostgreSQL) 7.0.2 DBD::PG v0.95 Ahora bien, estoy haciendo las pruebas en otra m?quina con las siguientes caracteristicas: La versi?n de Perl es v5.6.0 built for i686-linux La versi?n de Postgres es psql (PostgreSQL) 7.0.2 DBD::PG v0.95 A pesar de que tiene aparentemente lo mismo, incluso la conexi?n y lectura de informaci?n a trav?s de Sql server lo hace perfectamente, lamentablemente genera un error para postgres, el cual es: please use DBI functions for transaction handling at /usr/local/lib/perl5/site_perl/5.6.0/i686-linux/DBD/Pg.pm line 114. DBD::Pg::st execute failed: ERROR: Unterminated quoted string Insert client fallo: ERROR: Unterminated quoted string Dentro del script se encuentra se?alada la l?nea que fall?. Ahora bien, si para una m?quina funciona el script correctamente, porque para otra no?, tienen alguna idea de que est? pasando. Agradezco cualquier sugerencia. Antonio Padilla ------------------------------------------------------------------------ Enviar e-mail a colocando en el cuerpo: "UNSUBSCRIBE caracas-pm-list" para desuscribirse. "INFO caracas-pm-list" para conocer las reglas de etiqueta. ------------------------------------------------------------------------