From aarnal at me.gov.ve Wed Sep 1 17:28:18 2004 From: aarnal at me.gov.ve (Alexis Arnal) Date: Wed Sep 1 17:29:28 2004 Subject: [caracas-pm] =?iso-8859-1?q?Conexi=F3n?= a Informix mediante Perl DBI Message-ID: <1094077695.3532.25.camel@m1344.me.gov.ve> Saludos, estoy teniendo problemas al tratar de conectarme a una base de datos Informix con Perl. Ya instale el SDK de Informix y pude instalar el DBD::Informix y aparentemente todo sali? bien, sin embargo cuando corro el script de prueba me manda el siguiente error: --------------------------------------------------------------------- DBI connect('dbname=drh;host='xx01';port='1234'','yo',...) failed: SQL: -354: Incorrect database or cursor name format. at ./conexperl.pl Error en la conexi?n ------------------------------------------------------------------ Busque la descripci?n del error y me mostr? lo siguiente: [root@m1344 ejemploperl]# finderr -354 -354 Incorrect database or cursor name format. This statement contains the name of a database or a cursor in some invalid format. If the statement is part of a program, the name might have been passed in a host variable. ____________________________________ El script utilizado es el siguiente: #!/usr/bin/perl -w use DBI; $user="yo"; $password="1234"; $basedatos="xxx"; #----------------- #CONEXION A LA BASE DE DATOS $driver="dbi:Informix:dbname=$basedatos;host='xxx01';port='1234'"; if ($dbh=DBI->connect($driver,$user,$password)){ print "Conectado a la base de datos\n"; }else{ print "Error en la conexi?n\n"; } Si alguien me puede ayudar con esto se lo agradezco de antemano, Atte. Ing Alexis Arnal MED. Caracas-Venezuela From emhn at telcel.net.ve Thu Sep 2 12:56:19 2004 From: emhn at telcel.net.ve (Ernesto Hernandez-Novich) Date: Thu Sep 2 12:56:47 2004 Subject: [caracas-pm] =?iso-8859-1?q?Conexi=F3n?= a Informix mediante Perl DBI In-Reply-To: <1094077695.3532.25.camel@m1344.me.gov.ve> References: <1094077695.3532.25.camel@m1344.me.gov.ve> Message-ID: On Wed, 1 Sep 2004, Alexis Arnal wrote: > Saludos, estoy teniendo problemas al tratar de conectarme a una base de > datos Informix con Perl. Ya instale el SDK de Informix y pude instalar > el DBD::Informix y aparentemente todo sali? bien, sin embargo cuando > corro el script de prueba me manda el siguiente error: > > --------------------------------------------------------------------- > DBI connect('dbname=drh;host='xx01';port='1234'','yo',...) failed: SQL: > -354: Incorrect database or cursor name format. at ./conexperl.pl > Error en la conexi?n > ------------------------------------------------------------------ > Busque la descripci?n del error y me mostr? lo siguiente: > > [root@m1344 ejemploperl]# finderr -354 > -354 Incorrect database or cursor name format. > > This statement contains the name of a database or a cursor in some > invalid > format. If the statement is part of a program, the name might have been > passed in a host variable. > $driver="dbi:Informix:dbname=$basedatos;host='xxx01';port='1234'"; La sintaxis del connect es incorrecta. El DBD::Informix no funciona con dbname, host ni port. Si la base de datos 'foo' es local (misma m?quina en la que corre el script), basta poner el nombre de la base de datos. dbi:Informix:foo Si la base de datos 'foo' es remota (en la m?quina 'bar', diferente a la que corre el script), entonces la base de datos se indica como dbi:Informix:foo@bar y 'bar' debe haber sido ingresada en el archivo sqlhosts del cliente Informix en la m?quina local. Si la base de datos 'foo' es local _y_ est? en Standard Engine (?oh cielos! ?actualicen!), se coloca el camino de acceso en el sistema de archivos. dbi:Informix:/path/to/db/foo Revisa el manual de DBD::Informix para m?s detalles, y consulta a tu experto Informix local para configurar el sqlhost y los permisos de acceso en la m?quina remota. -- Ernesto Hern?ndez-Novich - On Linux 2.6.8.1 i686 - Unix: Live free or die! Geek by nature, Linux by choice, Debian of course. If you can't apt-get it, it isn't useful or doesn't exist. GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3 From aarnal at me.gov.ve Fri Sep 3 17:10:57 2004 From: aarnal at me.gov.ve (Alexis Arnal) Date: Fri Sep 3 17:12:25 2004 Subject: [caracas-pm] Consulta a Informix mediante Perl DBI In-Reply-To: References: <1094077695.3532.25.camel@m1344.me.gov.ve> Message-ID: <1094249454.3589.23.camel@m1344.me.gov.ve> Gracias, por la ayuda. Ya pude conectarme a la base de datos Informix, sin embargo ahora me surgi? un problema al realizar una consulta. A continuaci?n les muestro el trozo de c?digo conflictivo a ver si alguien me ayuda a detectar la falla. #---------------------------------------- if ($dbh=DBI->connect($driver,$user,$password)){ print "*** Conectado ***\n"; $statement=$dbh->prepare("SELECT nombre from tpersona where cedula='12345678'")or die"\nError al preparar la operaci?n\n"; $statement->execute or die "\nError al ejecutar la operaci?n"; while (( $cedula,$nombre)=$statement->fetchrow_array){ print " $cedula|$nombre|\n"; } }else{ print "*** Error en la conexi?n ***\n"; } #------------------------------------------ El problema se presenta en la l?nea donde se hace el prepare al ejecutarlo me muestra lo siguiente: *** Conectado a la base de datos *** Error al preparar la operaci?n Otro problema es que al parecer no valida el usuario y el password, ya que los cambie arbitrariamente y se segu?a conect?ndose. Estoy leyendo toda la documentaci?n de DBD::Informix a ver si puedo encontrar la falla. Atte. Ing Alexis Arnal Caracas-Venezuela El jue, 02-09-2004 a las 13:56, Ernesto Hernandez-Novich escribi?: > On Wed, 1 Sep 2004, Alexis Arnal wrote: > > Saludos, estoy teniendo problemas al tratar de conectarme a una base de > > datos Informix con Perl. Ya instale el SDK de Informix y pude instalar > > el DBD::Informix y aparentemente todo sali? bien, sin embargo cuando > > corro el script de prueba me manda el siguiente error: > > > > --------------------------------------------------------------------- > > DBI connect('dbname=drh;host='xx01';port='1234'','yo',...) failed: SQL: > > -354: Incorrect database or cursor name format. at ./conexperl.pl > > Error en la conexi?n > > ------------------------------------------------------------------ > > Busque la descripci?n del error y me mostr? lo siguiente: > > > > [root@m1344 ejemploperl]# finderr -354 > > -354 Incorrect database or cursor name format. > > > > This statement contains the name of a database or a cursor in some > > invalid > > format. If the statement is part of a program, the name might have been > > passed in a host variable. > > > $driver="dbi:Informix:dbname=$basedatos;host='xxx01';port='1234'"; > > La sintaxis del connect es incorrecta. El DBD::Informix no funciona > con dbname, host ni port. > > Si la base de datos 'foo' es local (misma m?quina en la que corre el script), > basta poner el nombre de la base de datos. > > dbi:Informix:foo > > Si la base de datos 'foo' es remota (en la m?quina 'bar', diferente a la > que corre el script), entonces la base de datos se indica como > > dbi:Informix:foo@bar > > y 'bar' debe haber sido ingresada en el archivo sqlhosts del cliente > Informix en la m?quina local. > > Si la base de datos 'foo' es local _y_ est? en Standard Engine (?oh > cielos! ?actualicen!), se coloca el camino de acceso en el sistema > de archivos. > > dbi:Informix:/path/to/db/foo > > Revisa el manual de DBD::Informix para m?s detalles, y consulta a tu > experto Informix local para configurar el sqlhost y los permisos de > acceso en la m?quina remota. From emhn at telcel.net.ve Fri Sep 3 20:46:18 2004 From: emhn at telcel.net.ve (Ernesto Hernandez-Novich) Date: Fri Sep 3 20:46:21 2004 Subject: [caracas-pm] Re: [l-desarrollo] Consulta a Informix mediante Perl DBI Message-ID: On Fri, 3 Sep 2004, Alexis Arnal wrote: > Ya pude conectarme a la base de datos Informix, sin embargo ahora me > surgi? un problema al realizar una consulta. [...] > $statement=$dbh->prepare("SELECT nombre from tpersona where > cedula='12345678'") No es una buena idea usar "comilleo" (lo mejor que se me ocurre por "quoting") expl?cito en DBI porque cada manejador las trabaja diferentes. En Oracle y PostgreSQL, las cadenas se encierran entre comillas sencillas, pero en Informix (si mal no recuerdo) con comillas dobles. De modo que una soluci?n primitiva ser?a my $sql = q{ select nombre from tpersona where cedula = "12345678" }; $stmt = $dbh->prepare($sql); Pero a?n as?, esto tiene dos cosas feas: primero, el hecho de usar las comillas expl?citamente; segundo, como el query tiene "cableado" el valor de b?squeda, el query no es reutilizable con facilidad. La manera adecuada de hacer este tipo de cosas es my $sql = q{ select nombre from tpersona where cedula = ? }; $stmt = $dbh->prepare($sql); $stmt->execute("12345678"); porque el execute() se encarga del "comilleo" adecuado (le deja ese trabajo al DBD, como debe ser), el query est? parametrizado con lo que cualquier otra consulta _id?ntica_ en la cual s?lo cambie el valor de b?squeda utilizar? la misma consulta, y se puede reutilizar en el propio programa Perl con facilidad. La soluci?n final, y m?s elegante, es hacer la ligadura de variables del programa a las variables libres, i.e. vincular una variable $cedula al ? en el query, de ese modo basta hacer $cedula = "12345678"; $stmt->execute; y DBI sabe que debe utilizar el valor de $cedula en el lugar del ?. Revisa la documentaci?n de DBI al respecto. Con ?sta t?cnica los programas resultan mucho m?s claros, f?ciles de mantener, y aprovechas mejor las facilidades del manejador de base de datos. > while (( $cedula,$nombre)=$statement->fetchrow_array){ > print " $cedula|$nombre|\n"; Lo mismo aqu?. Usar ligaduras es mucho m?s elegante y eficiente, sobre todo si piensas manipular grandes cantidades de datos. > Otro problema es que al parecer no valida el usuario y el password, ya > que los cambie arbitrariamente y se segu?a conect?ndose. Ese es un problema de configuraci?n del manejador de base de datos; el DBA no est? siendo suficientemente estricto al aceptar conexiones remotas. No es un problema de Perl ni del DBI/DBD. -- Ernesto Hern?ndez-Novich - On Linux 2.6.8.1 i686 - Unix: Live free or die! Geek by nature, Linux by choice, Debian of course. If you can't apt-get it, it isn't useful or doesn't exist. GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3 From fobispo at nic.ve Mon Sep 6 09:53:57 2004 From: fobispo at nic.ve (Francisco Obispo) Date: Mon Sep 6 09:54:15 2004 Subject: [caracas-pm] Re: [l-desarrollo] Consulta a Informix mediante Perl DBI In-Reply-To: References: Message-ID: <413C7A05.5090109@nic.ve> Hola, Ernesto Hernandez-Novich wrote: >On Fri, 3 Sep 2004, Alexis Arnal wrote: > > >>Ya pude conectarme a la base de datos Informix, sin embargo ahora me >>surgi? un problema al realizar una consulta. >> >> >[...] > > >>$statement=$dbh->prepare("SELECT nombre from tpersona where >> cedula='12345678'") >> >> > >No es una buena idea usar "comilleo" (lo mejor que se me ocurre por >"quoting") expl?cito en DBI porque cada manejador las trabaja >diferentes. En Oracle y PostgreSQL, las cadenas se encierran entre >comillas sencillas, pero en Informix (si mal no recuerdo) con comillas >dobles. De modo que una soluci?n primitiva ser?a > > my $sql = q{ select nombre from tpersona where cedula = "12345678" }; > $stmt = $dbh->prepare($sql); > >Pero a?n as?, esto tiene dos cosas feas: primero, el hecho de usar >las comillas expl?citamente; segundo, como el query tiene "cableado" el >valor de b?squeda, el query no es reutilizable con facilidad. La manera >adecuada de hacer este tipo de cosas es > > my $sql = q{ select nombre from tpersona where cedula = ? }; > $stmt = $dbh->prepare($sql); > $stmt->execute("12345678"); > >porque el execute() se encarga del "comilleo" adecuado (le deja ese >trabajo al DBD, como debe ser), el query est? parametrizado con lo que >cualquier otra consulta _id?ntica_ en la cual s?lo cambie el valor de >b?squeda utilizar? la misma consulta, y se puede reutilizar en el propio >programa Perl con facilidad. > >La soluci?n final, y m?s elegante, es hacer la ligadura de variables del >programa a las variables libres, i.e. vincular una variable $cedula al ? >en el query, de ese modo basta hacer > >$cedula = "12345678"; $stmt->execute; > > > > No deber?a ser: $stmt->execute($cedula); Para lo cual el orden de izquierda a derecha en que aparezcan los ? , ser?n reemplazados por las variables debidamente "comilladas" seg?n el tipo de datos. En caso de que se quiera efectuar este tipo de comportamiento, tendr?s que "ligar" estas variables con los "Marcadores de lugar" o Placeholders, a trav?s de metodos como bind_param_inout, donde puedes establecer una referencia a un escalar, el cual ser? leido al momento de llamar execute, as? que con un query como: $usuario="fobispo"; $sql="SELECT * FROM users WHERE user=?"; puedes hacer: $sth=$dbh->prepare($sql); # 1 = primer Placeholder, Referencia al escalar $usuario, $len max tama?o posible para $usuario) $sth->bind_param_inout(1,\$usuario,$len); luego podr?s llamar: $sth->execute; y de esta forma, el paquete DBI, sabr? obtener el valor a pasarle a user=?, seg?n el valor de $usuario. Por ahora, yo prefiero pasarle los valores directamente en el $sth->execute(); saludos >y DBI sabe que debe utilizar el valor de $cedula en el lugar del ?. >Revisa la documentaci?n de DBI al respecto. Con ?sta t?cnica los >programas resultan mucho m?s claros, f?ciles de mantener, y aprovechas >mejor las facilidades del manejador de base de datos. > > > >>while (( $cedula,$nombre)=$statement->fetchrow_array){ >> print " $cedula|$nombre|\n"; >> >> > >Lo mismo aqu?. Usar ligaduras es mucho m?s elegante y eficiente, sobre >todo si piensas manipular grandes cantidades de datos. > > > >>Otro problema es que al parecer no valida el usuario y el password, ya >>que los cambie arbitrariamente y se segu?a conect?ndose. >> >> > >Ese es un problema de configuraci?n del manejador de base de datos; el >DBA no est? siendo suficientemente estricto al aceptar conexiones >remotas. No es un problema de Perl ni del DBI/DBD. > > -- ------------------------- \ Ing. Francisco Obispo \ _ ______ | \ Coordinador del NIC-VE \ / \___-=0`/|0`/__| \ CNTI - REACCIUN \_\ / | / ) / ----------------------- / `/-==__ _/__|/__ -| / Tlf. +58 212 771 8584 / * \ | | / email: fobispo@nic.ve / (o) -------------------------- From emhn at telcel.net.ve Mon Sep 6 12:38:16 2004 From: emhn at telcel.net.ve (Ernesto Hernandez-Novich) Date: Mon Sep 6 12:38:20 2004 Subject: [caracas-pm] Re: [l-desarrollo] Consulta a Informix mediante Perl DBI In-Reply-To: <413C7A05.5090109@nic.ve> References: <413C7A05.5090109@nic.ve> Message-ID: On Mon, 6 Sep 2004, Francisco Obispo wrote: > Ernesto Hernandez-Novich wrote: > >La soluci?n final, y m?s elegante, es hacer la ligadura de variables del > >programa a las variables libres, i.e. vincular una variable $cedula al ? > >en el query, de ese modo basta hacer > > > >$cedula = "12345678"; $stmt->execute; > No deber?a ser: > $stmt->execute($cedula); No, precisamente en el p?rrafo previo hago ?nfasis en vincular la variable al ?. Esa vinculaci?n _no_ es en el execute(), sino utilizando la rutina bind_param() que _adrede_ no inclu?. > Para lo cual el orden de izquierda a derecha en que aparezcan los ? , > ser?n reemplazados > por las variables debidamente "comilladas" seg?n el tipo de datos. Precisamente el uso de ligadura te permite olvidarte del "orden" y simplemente agregas y quitas variables a tu consulta posicionalmente. > En caso de que se quiera efectuar este tipo de comportamiento, > tendr?s que "ligar" estas variables con los "Marcadores de lugar" o > Placeholders, Eso es lo que quise decir con vincular. -- Ernesto Hern?ndez-Novich - On Linux 2.6.8.1 i686 - Unix: Live free or die! Geek by nature, Linux by choice, Debian of course. If you can't apt-get it, it isn't useful or doesn't exist. GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3 From aarnal at me.gov.ve Mon Sep 6 17:20:41 2004 From: aarnal at me.gov.ve (Alexis Arnal) Date: Mon Sep 6 17:21:59 2004 Subject: [caracas-pm] Consulta a Informix mediante Perl DBI--Use of uninitialized value in concatenation (.) or string In-Reply-To: References: <413C7A05.5090109@nic.ve> Message-ID: <1094509239.3540.19.camel@m1344.me.gov.ve> Saludos, gracias por las sugerencias, las he probado casi todas menos la de la ligadura, ya que no estoy muy familiarizado con esta ?ltima. Leyendo la documentaci?n de DBI le inclu? la variable para que muestre el error $DBI::err. Estoy teniendo el siguiente problema: -------------------------------------------- Conectado a la Base de Datos Use of uninitialized value in concatenation (.) or string at /var/www/cgi-bin/ejemploperl/conexperl.pl line 8. Use of uninitialized value in concatenation (.) or string at /var/www/cgi-bin/ejemploperl/conexperl.pl line 8. Error (): --------------------------------------------- El c?digo que estoy usando es el siguiente. Lo probe en el debugger y no entiendo porque pierde los valores al preparar el statement ----------------------------------------------- #!/usr/bin/perl -w use DBI; $driver=q%dbi:Informix:foo@bar%; $dbh=DBI->connect($driver) or die "\nError ($DBI::err): $DBI::errstr\n"; print "Conectado a la Base de Datos\n"; my $sql = q{ select nombre from persona where cedula = ? }; $stmt = $dbh->prepare($sql)or die "\nError ($DBI::err): $DBI::errstr\n"; $stmt->execute("12345678")or die "\nError ($DBI::err): $DBI::errstr\n"; -------------------------------------------------- Disculpen pero estoy que casi tiro la toalla ya que esto es en teor?a algo sencillo que deber?a funcionar sin problemas. Revise los ejemplos que vienen con la documentaci?n de DBD::Informix y son similares a lo que tengo en mi c?digo. Atte. Ing. Alexis Arnal MED. Caracas-Venezuela El lun, 06-09-2004 a las 13:38, Ernesto Hernandez-Novich escribi?: > On Mon, 6 Sep 2004, Francisco Obispo wrote: > > Ernesto Hernandez-Novich wrote: > > >La soluci?n final, y m?s elegante, es hacer la ligadura de variables del > > >programa a las variables libres, i.e. vincular una variable $cedula al ? > > >en el query, de ese modo basta hacer > > > > > >$cedula = "12345678"; $stmt->execute; > > > No deber?a ser: > > $stmt->execute($cedula); > > No, precisamente en el p?rrafo previo hago ?nfasis en vincular la > variable al ?. Esa vinculaci?n _no_ es en el execute(), sino utilizando > la rutina bind_param() que _adrede_ no inclu?. > > > Para lo cual el orden de izquierda a derecha en que aparezcan los ? , > > ser?n reemplazados > > por las variables debidamente "comilladas" seg?n el tipo de datos. > > Precisamente el uso de ligadura te permite olvidarte del "orden" y > simplemente agregas y quitas variables a tu consulta posicionalmente. > > > En caso de que se quiera efectuar este tipo de comportamiento, > > tendr?s que "ligar" estas variables con los "Marcadores de lugar" o > > Placeholders, > > Eso es lo que quise decir con vincular. From jasa at agroislena.com Mon Sep 6 17:44:25 2004 From: jasa at agroislena.com (Jose Angel Sanchez Acosta) Date: Mon Sep 6 17:44:35 2004 Subject: [caracas-pm] Consulta a Informix mediante Perl DBI--Use of uninitialized value in concatenation (.) or string In-Reply-To: <1094509239.3540.19.camel@m1344.me.gov.ve> References: <413C7A05.5090109@nic.ve> <1094509239.3540.19.camel@m1344.me.gov.ve> Message-ID: <1094510665.18803.19.camel@localhost.localdomain> Buenas noches Alexis, Tengo instalado Infomix IDS 731 y 940 ambos en Debian GNU/Linux, he creado algunos utilitarios con perl que acceden a la base de datos y hasta ahora no he tenido problemas con la conexi?n o las consultas. Ejemplo: #!/usr/bin/perl use DBI; my $scr_name = "carga_plano.pl"; my $driver = 'Informix'; my $database = 'base_de_datos@servidor'; my $usuario = 'user'; my $clave = 'pass'; my $ifx = DBI->connect("dbi:$driver:$database") || die; my $gen_ifx = $ifx->prepare("select codigo,nombre from clientes where estado= ?"); $ifx->do("set isolation to dirty read"); $gen_ifx->execute($estado); while (@row = $gen_ifx->fetchrow_array()) { print "C?digo: $row[0] Nombre: $row[1]|\n"; } $gen_ifx->finish(); $ifx->disconnect(); exit; El lun, 06-09-2004 a las 18:20, Alexis Arnal escribi?: > Saludos, gracias por las sugerencias, las he probado casi todas menos la > de la ligadura, ya que no estoy muy familiarizado con esta ?ltima. > > Leyendo la documentaci?n de DBI le inclu? la variable para que muestre > el error $DBI::err. > > Estoy teniendo el siguiente problema: > -------------------------------------------- > Conectado a la Base de Datos > Use of uninitialized value in concatenation (.) or string at > /var/www/cgi-bin/ejemploperl/conexperl.pl line 8. > Use of uninitialized value in concatenation (.) or string at > /var/www/cgi-bin/ejemploperl/conexperl.pl line 8. > > Error (): > --------------------------------------------- > > El c?digo que estoy usando es el siguiente. Lo probe en el debugger y no > entiendo porque pierde los valores al preparar el statement > ----------------------------------------------- > #!/usr/bin/perl -w > use DBI; > $driver=q%dbi:Informix:foo@bar%; > $dbh=DBI->connect($driver) or die "\nError ($DBI::err): $DBI::errstr\n"; > print "Conectado a la Base de Datos\n"; > > my $sql = q{ select nombre from persona where cedula = ? }; > $stmt = $dbh->prepare($sql)or die "\nError ($DBI::err): $DBI::errstr\n"; > $stmt->execute("12345678")or die "\nError ($DBI::err): $DBI::errstr\n"; > -------------------------------------------------- > Disculpen pero estoy que casi tiro la toalla ya que esto es en teor?a > algo sencillo que deber?a funcionar sin problemas. > > Revise los ejemplos que vienen con la documentaci?n de DBD::Informix y > son similares a lo que tengo en mi c?digo. > > Atte. > Ing. Alexis Arnal > MED. Caracas-Venezuela > > > El lun, 06-09-2004 a las 13:38, Ernesto Hernandez-Novich escribi?: > > On Mon, 6 Sep 2004, Francisco Obispo wrote: > > > Ernesto Hernandez-Novich wrote: > > > >La soluci?n final, y m?s elegante, es hacer la ligadura de variables del > > > >programa a las variables libres, i.e. vincular una variable $cedula al ? > > > >en el query, de ese modo basta hacer > > > > > > > >$cedula = "12345678"; $stmt->execute; > > > > > No deber?a ser: > > > $stmt->execute($cedula); > > > > No, precisamente en el p?rrafo previo hago ?nfasis en vincular la > > variable al ?. Esa vinculaci?n _no_ es en el execute(), sino utilizando > > la rutina bind_param() que _adrede_ no inclu?. > > > > > Para lo cual el orden de izquierda a derecha en que aparezcan los ? , > > > ser?n reemplazados > > > por las variables debidamente "comilladas" seg?n el tipo de datos. > > > > Precisamente el uso de ligadura te permite olvidarte del "orden" y > > simplemente agregas y quitas variables a tu consulta posicionalmente. > > > > > En caso de que se quiera efectuar este tipo de comportamiento, > > > tendr?s que "ligar" estas variables con los "Marcadores de lugar" o > > > Placeholders, > > > > Eso es lo que quise decir con vincular. > > _______________________________________________ > caracas-pm mailing list > caracas-pm@mail.pm.org > http://www.pm.org/mailman/listinfo/caracas-pm -- From emhn at telcel.net.ve Tue Sep 7 21:10:50 2004 From: emhn at telcel.net.ve (Ernesto Hernandez-Novich) Date: Tue Sep 7 21:10:56 2004 Subject: [caracas-pm] Re: [l-desarrollo] =?iso-8859-1?q?Internacionalizaci=F3n_en_Perl?= In-Reply-To: <413E2E20.3010309@cantv.net> References: <413C7A05.5090109@nic.ve> <1094509239.3540.19.camel@m1344.me.gov.ve> <413E2E20.3010309@cantv.net> Message-ID: On Tue, 7 Sep 2004, Jorge Guerra wrote: > Actualmente estoy trabajando en mi tesis de pregrado en la cual tengo > c?digo en java, lisp y perl. Uno de los requerimientos del compilador > que estoy desarrollando es que sea "internacionalizable". Esto lo he > logrado en java colocando todos los mensajes del compilador en un > archivo externo el cual lleva como subfijo las primeras dos letras que > identifican una localidad (locale), este archivo es manejado por la > clase java.util.ResourceBundle que se encarga de obtener el archivo > correcto de acuerdo a la localidad del sistema, ej. Syntax_es para el > espa?ol. > > Actualmente y ?nico c?digo no internaciolizable en el que tengo escrito > en perl :(. Llevo unos d?as buscando y lo ?nico que he conseguido > similar es perllocale, pero esto no me permite hacer lo anteriormente > descrito. > > ?Alguno ha usado la internacionalizaci?n de perl? La i18n en Unix se hace con gettext(). Tu programa tiene cadenas codificadas y con la funci?n gettext() se busca la i18n adecuada. No usar gettext() es contradecir a?os no s?lo de tradici?n sino de funcionalidad comprobada (y Java deber?a tener acceso a gettext()). As? que comienza por estudiar gettext(). Existen m?dulos Perl que permiten utilizar gettext() directamente, de modo que escribes tu programa en Perl y las cadenas a utilizar son obtenidas con gettext() dependiendo del LC_* En Debian tienes el paquete liblocale-gettext-perl, y si no usas Debian y tu distro no los tiene empaquetado, puedes bajarlo desde CPAN. En CPAN hay (?hab?a?) un m?dulo Gettext m?s precario; no lo uses. use Locale::gettext; use POSIX; setlocale(LC_MESSAGES, ""); print gettext("This is a message"), "\n"; y tienes tus archivos /usr/share/locale// que tiene los mensajes que quieres mostrar. Dependiendo de lo que tengas en LC_MESSAGES, se busca en el idioma correspondiente y en vez de salir "This is a message", sale "Este es un mensaje". Ser?a una buena charla de quince minutos para la pr?xima reuni?n de Perl Mongers... -- Ernesto Hern?ndez-Novich - On Linux 2.6.8.1 i686 - Unix: Live free or die! Geek by nature, Linux by choice, Debian of course. If you can't apt-get it, it isn't useful or doesn't exist. GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3 From jesikablazquez at cantv.net Sat Sep 11 07:18:39 2004 From: jesikablazquez at cantv.net (jesikablazquez@cantv.net) Date: Sat Sep 11 07:18:42 2004 Subject: [caracas-pm] Modulo cgi Message-ID: <197740-220049611121839114@cantv.net> Soy nueva en Perl, y me estoy leyendo el manual Learning Perl, y estoy haciendo los ejercicios de alli, me ocurre un problema y es con el modulo _cgi_, mi servidor es un Debian Woody, en apache tengo declarado: LoadModule cgi_module /usr/lib/apache/1.3/mod_cgi.so ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ La version de Perl es v5.8.4 Los programas en perl me funciona bien, pero todo lo que tenga que ver como CGI no, e instale CGI de esta manera: apt-get install cgilib segun los ejemplos, trabajan bajo el directorio /var/www/cgi-bin, sin embargo no tengo ese directorio, y lo cree manualmente y coloque alli mis programas cgi, pero cuando lo corro desde el browser me da problemas en abrir los archivos bajo ese directorio, e inclusive la cambie los permiso a ver si ese era el problema. Me faltar? instalar algo de CGI ? Donde consigo informacion de CGI para Debian ? gracias por adelantado Jesi -------------- next part -------------- A non-text attachment was scrubbed... Name: unknown.unk Type: application/octet-stream Size: 1922 bytes Desc: unknown.unk Url : http://mail.pm.org/pipermail/caracas-pm/attachments/20040911/1e65b3df/unknown.obj From gdelfino at mac.com Sat Sep 11 08:06:55 2004 From: gdelfino at mac.com (Gustavo Delfino) Date: Sat Sep 11 08:07:04 2004 Subject: [caracas-pm] Modulo cgi In-Reply-To: <197740-220049611121839114@cantv.net> References: <197740-220049611121839114@cantv.net> Message-ID: <74FDB19E-03F3-11D9-924D-000D93AEBFF2@mac.com> Jesi, para encontrar el problema seria muy util si envias los error que estas obteniendo en el log de errores de apache. Si no sabes donde esta este log busca en tu httpd.conf la linea que empieza por ErrorLog Saludos, Gustavo Delfino On Sep 11, 2004, at 8:18, jesikablazquez@cantv.net wrote: > > > Soy nueva en Perl, y me estoy leyendo el manual Learning Perl, y > estoy > > haciendo los ejercicios de alli, me ocurre un problema y es con el > modulo > > _cgi_, mi servidor es un Debian Woody, en apache tengo declarado: > > LoadModule cgi_module /usr/lib/apache/1.3/mod_cgi.so > > ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ > > La version de Perl es v5.8.4 > > Los programas en perl me funciona bien, pero todo lo que tenga que > ver > como > > CGI no, e instale CGI de esta manera: > > apt-get install cgilib > > segun los ejemplos, trabajan bajo el directorio /var/www/cgi-bin, > sin > > embargo no tengo ese directorio, y lo cree manualmente y coloque > alli > mis > > programas cgi, pero cuando lo corro desde el browser me da > problemas en > > abrir los archivos bajo ese directorio, e inclusive la cambie los > permiso a > > ver si ese era el problema. > > > > Me faltar? instalar algo de CGI ? > > Donde consigo informacion de CGI para Debian ? > > gracias por adelantado > > Jesi From jrey at linuxsis.net Sat Sep 11 10:46:50 2004 From: jrey at linuxsis.net (Jose Rey) Date: Sat Sep 11 10:45:10 2004 Subject: [caracas-pm] Modulo cgi In-Reply-To: <197740-220049611121839114@cantv.net> References: <197740-220049611121839114@cantv.net> Message-ID: <41431DEA.8000303@linuxsis.net> jesikablazquez@cantv.net wrote: > > Soy nueva en Perl, y me estoy leyendo el manual Learning Perl, y estoy > > haciendo los ejercicios de alli, me ocurre un problema y es con el > modulo > > _cgi_, mi servidor es un Debian Woody, en apache tengo declarado: > De aqui en adelante asumir? que tu problema es con CGI.pm que se usa de la siguiente manera: use CGI; > LoadModule cgi_module /usr/lib/apache/1.3/mod_cgi.so > > ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ Esto est? bien. > La version de Perl es v5.8.4 La versi?n oficial de Perl en Debian Woody es 5.6.1 y especificacmente la versi?n del paquete .deb es 5.6.1-8.7. Si tienes perl 5.8 es porque alguien instal? una versi?n diferente a la oficial, aunque para trabajar con CGI tal vez no es muy importante, pero si en el futuro deseas trabajar con mod_perl tendr?s problemas a menos que el administrador de la m?quina sepa que es lo que hace. > Los programas en perl me funciona bien, pero todo lo que tenga que ver > como > > CGI no, e instale CGI de esta manera: > > apt-get install cgilib Esa no es la librer?a que necesitas, deber?as hacer: apt-get install libcgi-perl que es la perl, la otra es para C (creo), sin embargo, si tu perl no es el estandard de la distribuci?n no se si tendr?s problemas con instalar la versi?n que funcinaba _garantizado_ con perl 5.6. A?n cuando la versi?n de CGI que se utiliza en Woody sigue siendo 2.76, debes verificar que posibles cambios hay en las dependencias de libcgi-perl: liburi-perl y libwww-perl. En caso de que tu distribuci?n de perl sea especial, podr?as ir directamente al CPAN para instalar los m?dulos en el repositorio, pero debes tener un ambiente de desarrollo decente para que se puedan compilar las librer?as en C que son parte de los m?dulos. Para esto puedes usar (como root): perl -MCPAN -e shell y seguir las ayudas que te da el programa, si es la primera vez que lo ejecutas tendr?s que configurarlo y te pregunta montones de cosas. > segun los ejemplos, trabajan bajo el directorio /var/www/cgi-bin, sin > > embargo no tengo ese directorio, y lo cree manualmente y coloque alli > mis > > programas cgi, pero cuando lo corro desde el browser me da problemas en > > abrir los archivos bajo ese directorio, e inclusive la cambie los > permiso a > > ver si ese era el problema. En debian los servidores web generalmente estan configurados para trabajar en: /usr/lib/cgi-bin Si no esta creado, debes crearlo con root y con permisos 0755 (rwxr-xr-x) y si quieres evitarte problemas puede marcar todos los scripts como ejecutables (chmod +x /usr/lib/cgi-bin/programa) > Me faltar? instalar algo de CGI ? > > Donde consigo informacion de CGI para Debian ? Para debian espec?ficamente no creo que haya mucha documentaci?n, pues en un ambiente estandar: apt-get install apache apt-get install libcgi-perl y ahora escribes programas con CGI.pm en /usr/lib/cgi-bin, no hay mas nada que hacer. > gracias por adelantado Luego nos cuentas como te fue. Saludos Jose Luis Rey From caracas-pm at mail.pm.org Sat Sep 11 10:45:10 2004 From: caracas-pm at mail.pm.org (caracas-pm@mail.pm.org) Date: Sat Sep 11 10:45:11 2004 Subject: [caracas-pm] Modulo cgi In-Reply-To: <74FDB19E-03F3-11D9-924D-000D93AEBFF2@mac.com> References: <197740-220049611121839114@cantv.net> <74FDB19E-03F3-11D9-924D-000D93AEBFF2@mac.com> Message-ID: <1858.161.196.124.202.887765130.squirrel@ss00correo.me.gov.ve> Saludos, tambien soy un novato con PERL ya que tengo apenas 6 meses trabajando con CGI pero es realmente sencillo, pero espero poder responderte alguna de tus dudas y si me equivoco en algo los compa?eros de la lista sabran como corregir el error. Seg?n tengo entendido el M?dulo CGI viene con la distribuci?n estandar de PERL, por lo cual pienso que no era necesario que lo instalaras de nuevo. Para saber si un m?dulo est? instalado basta con escribir en consola perl -e 'use Nombre_del_M?dulo'. En caso de que este instalado te aparecer? de nuevo el prompt de la consola, mientras que si no est? instalado aparecera un mensaje de error. Existen otras formas de buscar como por ejemplo buscar find / -name Nombre_del_Modulo.pm -print. Volviendo al CGI, generalmente el Apache viene con la distribuci?n standar de Linux(si le dices que lo instales) lo ?nico que varia es la ubicaci?n del directorio cgi-bin, en Debian generalmente est? ubicado en /usr/lib/cgi-bin, mientras que en otras distribuciones como Mandrake se ubica en /var/www/cgi-bin. Para verificar si el Apache interpreta scripts cgi escribe en tu url://localhost/cgi-bin/test.cgi. test.cgi o test.pl es un script para probar el funcionamiento de tu servidor web, debes verificar en el directorio que exista ese archivo o sea el nombre correcto, por lo general viene con la instalaci?n standar sin embargo si no lo encuentras puedes hacer uno tu misma. #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "Hola, estoy trabajando con CGI"; Espero que te sirva de ayuda, y te recomiendo que explores el m?dulo HTML::Template el cual te simplifica el trabajo con HTML separando el c?digo de la aplicaci?n del c?digo de la presentaci?n. Atte. Ing.Alexis Arnal MED. Carcas-Venezuela > Jesi, para encontrar el problema seria muy util si envias los error que > estas obteniendo en el log de errores de apache. Si no sabes donde > esta este log busca en tu httpd.conf la linea que empieza por ErrorLog > > Saludos, > > Gustavo Delfino > > > On Sep 11, 2004, at 8:18, jesikablazquez@cantv.net wrote: > >> >> >> Soy nueva en Perl, y me estoy leyendo el manual Learning Perl, y >> estoy >> >> haciendo los ejercicios de alli, me ocurre un problema y es con el >> modulo >> >> _cgi_, mi servidor es un Debian Woody, en apache tengo >> declarado: >> >> LoadModule cgi_module /usr/lib/apache/1.3/mod_cgi.so >> >> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ >> >> La version de Perl es v5.8.4 >> >> Los programas en perl me funciona bien, pero todo lo que tenga que >> >> ver >> como >> >> CGI no, e instale CGI de esta manera: >> >> apt-get install cgilib >> >> segun los ejemplos, trabajan bajo el directorio /var/www/cgi-bin, >> sin >> >> embargo no tengo ese directorio, y lo cree manualmente y coloque >> alli >> mis >> >> programas cgi, pero cuando lo corro desde el browser me da >> problemas en >> >> abrir los archivos bajo ese directorio, e inclusive la cambie los >> permiso a >> >> ver si ese era el problema. >> >> >> >> Me faltar? instalar algo de CGI ? >> >> Donde consigo informacion de CGI para Debian ? >> >> gracias por adelantado >> >> Jesi > > > _______________________________________________ > caracas-pm mailing list > caracas-pm@mail.pm.org > http://www.pm.org/mailman/listinfo/caracas-pm From emhn at telcel.net.ve Mon Sep 13 07:26:41 2004 From: emhn at telcel.net.ve (Ernesto Hernandez-Novich) Date: Mon Sep 13 07:26:45 2004 Subject: [caracas-pm] =?iso-8859-1?q?Reuni=F3n_s=E1bado_18?= Message-ID: El pr?ximo s?bado 18 corresponde nuestra reuni?n mensual. Personalmente me gustar?a que habl?ramos de nuestra posible participaci?n en el Festival de Instalaci?n de Linux que habr? el 25 de septiembre en el ISEIT, y si les parece conveniente que hay un grupo de algunas personas ese d?a "evangelizando" en cuanto a Perl. En cualquier caso yo voy a estar ese s?bado 25 colaborando con las instalaciones de Debian que puedan aparecer. As? mismo, si alguien tiene alg?n tema que quiera discutir el d?a 18, ser?a fant?stico. Como siempre, si alguien tiene preguntas concretas y/o fragmentos de c?digo que quiera compartir, bienvenido. ?Alg?n sitio de reuni?n? -- Ernesto Hern?ndez-Novich - On Linux 2.6.8.1 i686 - Unix: Live free or die! Geek by nature, Linux by choice, Debian of course. If you can't apt-get it, it isn't useful or doesn't exist. GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3 From mtahan at me.gov.ve Wed Sep 15 04:12:24 2004 From: mtahan at me.gov.ve (=?ISO-8859-1?Q?M=F3nica?= Tahan) Date: Wed Sep 15 10:11:02 2004 Subject: [caracas-pm] Propuesta Tema de =?iso-8859-1?q?discusi=F3n?= para la =?iso-8859-1?q?reuni=F3n?= de este =?iso-8859-1?q?S=E1bado_=28M=F3nica?= Tahan) Message-ID: <1095239544.11160.7.camel@box> Saludos Perl Monger, Me gustar?a proponer para este s?bado como tema de discusi?n en la reuni?n, CGI::Session, el cual considero muy interesante. Bueno, espero sus respuestas si a alguien le interesa el tema, Sin m?s que decir, se despide: Atentamente, Ing. M?nica Tahan From agazso at ius.cc Wed Sep 15 16:09:16 2004 From: agazso at ius.cc (=?iso-8859-1?Q?Andr=E9s_Gazs=F3?=) Date: Wed Sep 15 16:09:27 2004 Subject: [caracas-pm] =?iso-8859-1?q?_Propuesta_Tema_de_discusi=F3n_para_?= =?iso-8859-1?q?lareuni=F3n_de_este_S=E1bado?= In-Reply-To: <1095239544.11160.7.camel@box> Message-ID: Estimados Perl Mongers: Propongo para esta reuni?n, la elaboraci?n de una peque?a aplicaci?n, que integre varios t?picos discutidos hasta la fecha como el m?dulo CGI, DBI y autenticaci?n de passwords. Concretamente se trata de lo siguiente: -El problema Todas las oficinas deber?an tener su correspondencia de salida serializada, y ?sta a su vez, le?da por lo menos por dos personas, para asegurar la calidad de la comunicaci?n. En este sentido, la aplicaci?n deber?a otorgar un n?mero consecutivo (serial) a aquellas comunicaciones que fueran revisadas por lo menos por dos personas. -Lo que debe hacer el programa Ofrecer a trav?s de una p?gina de web de la intranet, una casilla para determinar el tipo y descripci?n del documento, as? como su ruta de acceso, mas dos espacios para passwords los cuales al introducir el primero, otorgue un serial temporal al documento a registrar. Si ambas casillas de passwords est?n llenas y autenticadas, el programa otorga un serial definitivo. -Requisitos Toda la informaci?n se recoge utilizando el m?dulo de CGI y se almacena en una base de datos Postgres. Sin m?s entonces les saluda, Andr?s. APH. ------------------------------------- Andr?s Gazs? Gazs? & Dol?nyi Abogados Telf. : +58 (212) 976.59.93 976.63.55 Fax. : +58 (212) 976.66.06 mailto: agazso@ius.cc ------------------------------------- -----Original Message----- From: caracas-pm-bounces@mail.pm.org [mailto:caracas-pm-bounces@mail.pm.org] On Behalf Of M?nica Tahan Sent: Mi?rcoles, 15 de Septiembre de 2004 05:12 a.m. To: caracas-pm@mail.pm.org Subject: [caracas-pm] Propuesta Tema de discusi?n para lareuni?n de esteS?bado (M?nica Tahan) Saludos Perl Monger, Me gustar?a proponer para este s?bado como tema de discusi?n en la reuni?n, CGI::Session, el cual considero muy interesante. Bueno, espero sus respuestas si a alguien le interesa el tema, Sin m?s que decir, se despide: Atentamente, Ing. M?nica Tahan _______________________________________________ caracas-pm mailing list caracas-pm@mail.pm.org http://www.pm.org/mailman/listinfo/caracas-pm From aarnal at me.gov.ve Thu Sep 16 09:38:39 2004 From: aarnal at me.gov.ve (Alexis Arnal) Date: Thu Sep 16 09:40:21 2004 Subject: [caracas-pm] Propuesta de Tema para =?iso-8859-1?q?Reuni=F3n?= del =?iso-8859-1?q?S=E1bado?= Message-ID: <1095344430.2943.59.camel@m1344.me.gov.ve> Saludos, Me parece excelente idea, lo de la creaci?n de una peque?a aplicaci?n tal como lo expresa el compa?ero Andr?s, por mi parte tengo una peque?a aplicaci?n de ejemplo que trata de usar el Paradigma del MVC (Model-View-Controler) y comprende el manejo de CGI::Application, conexi?n mediante DBI a Postgres y manejo de plantillas con HTML::Template, el cual pudiera servir de ejemplo para criticarlo hasta la saciedad para optimizarlo,(ya que soy un novato y a?n me falta por aprender mucho) y agregarle lo que propone Andr?s para el manejo del correspondencia de la oficina y el menejo de sesiones que planteo M?nica. Estamos en contacto. Atte. Ing.Alexis Arnal MED. Caracas-Venezuela para El mi?, 15-09-2004 a las 17:09, Andr?s Gazs? escribi?: > Estimados Perl Mongers: > > Propongo para esta reuni?n, la elaboraci?n de una peque?a aplicaci?n, que > integre varios t?picos discutidos hasta la fecha como el m?dulo CGI, DBI y > autenticaci?n de passwords. Concretamente se trata de lo siguiente: > > -El problema > Todas las oficinas deber?an tener su correspondencia de salida serializada, > y ?sta a su vez, le?da por lo menos por dos personas, para asegurar la > calidad de la comunicaci?n. En este sentido, la aplicaci?n deber?a otorgar > un n?mero consecutivo (serial) a aquellas comunicaciones que fueran > revisadas por lo menos por dos personas. > > -Lo que debe hacer el programa > Ofrecer a trav?s de una p?gina de web de la intranet, una casilla para > determinar el tipo y descripci?n del documento, as? como su ruta de acceso, > mas dos espacios para passwords los cuales al introducir el primero, otorgue > un serial temporal al documento a registrar. Si ambas casillas de passwords > est?n llenas y autenticadas, el programa otorga un serial definitivo. > > -Requisitos > Toda la informaci?n se recoge utilizando el m?dulo de CGI y se almacena en > una base de datos Postgres. > > Sin m?s entonces les saluda, > > Andr?s. > APH. > > ------------------------------------- > Andr?s Gazs? > Gazs? & Dol?nyi Abogados > > Telf. : +58 (212) 976.59.93 976.63.55 > Fax. : +58 (212) 976.66.06 > mailto: agazso@ius.cc > ------------------------------------- > > -----Original Message----- > From: caracas-pm-bounces@mail.pm.org [mailto:caracas-pm-bounces@mail.pm.org] > On Behalf Of M?nica Tahan > Sent: Mi?rcoles, 15 de Septiembre de 2004 05:12 a.m. > To: caracas-pm@mail.pm.org > Subject: [caracas-pm] Propuesta Tema de discusi?n para lareuni?n de > esteS?bado (M?nica Tahan) > > Saludos Perl Monger, > > Me gustar?a proponer para este s?bado como tema de discusi?n en la > reuni?n, CGI::Session, el cual considero muy interesante. > > Bueno, espero sus respuestas si a alguien le interesa el tema, Sin > m?s > que decir, se despide: > > Atentamente, > > Ing. M?nica Tahan > > > _______________________________________________ > caracas-pm mailing list > caracas-pm@mail.pm.org > http://www.pm.org/mailman/listinfo/caracas-pm > > _______________________________________________ > caracas-pm mailing list > caracas-pm@mail.pm.org > http://www.pm.org/mailman/listinfo/caracas-pm From emhn at telcel.net.ve Thu Sep 16 10:48:41 2004 From: emhn at telcel.net.ve (Ernesto Hernandez-Novich) Date: Thu Sep 16 10:48:45 2004 Subject: [caracas-pm] Propuesta de Tema para =?iso-8859-1?q?Reuni=F3n?= del =?iso-8859-1?q?S=E1bado?= In-Reply-To: <1095344430.2943.59.camel@m1344.me.gov.ve> References: <1095344430.2943.59.camel@m1344.me.gov.ve> Message-ID: On Thu, 16 Sep 2004, Alexis Arnal wrote: > Me parece excelente idea, lo de la creaci?n de una peque?a aplicaci?n > tal como lo expresa el compa?ero Andr?s, por mi parte tengo una peque?a > aplicaci?n de ejemplo que trata de usar el Paradigma del MVC > (Model-View-Controler) y comprende el manejo de CGI::Application, > conexi?n mediante DBI a Postgres y manejo de plantillas con > HTML::Template, el cual pudiera servir de ejemplo para criticarlo hasta > la saciedad para optimizarlo,(ya que soy un novato y a?n me falta por > aprender mucho) y agregarle lo que propone Andr?s para el manejo del > correspondencia de la oficina y el menejo de sesiones que planteo > M?nica. Creo que tenemos un tema. Como lo de Alexis ya est? escrito, es m?s f?cil comenzar a verlo y discutirlo, quiz?s combinando las ideas de M?nica. Pienso que es preferible a comenzar "desde cero", como ser?a el caso de hacer lo que propone Andr?s, b?sicamente porque habr?a una fase de _dise?o_ previa que tendr?amos que considerar. Lo que podr?amos hacer es que para la poxima sesi?n si armamos la aplicaci?n que sugiere Andr?s, pero pensando en el dise?o b?sico, as? cubrimos "la otra parte" de hacer una aplicaci?n Web. Entonces Alexis lleva su c?digo, nos explica lo que intenta hacer y lo disecamos. Si no le has puesto CGI::Session todav?a, por lo menos intentamos agregarlo. ?Ser? que podremos encontrarnos en el ISEIT? -- Ernesto Hern?ndez-Novich - On Linux 2.6.8.1 i686 - Unix: Live free or die! Geek by nature, Linux by choice, Debian of course. If you can't apt-get it, it isn't useful or doesn't exist. GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3 From cpineda at grupodiga.com.ve Thu Sep 16 14:02:06 2004 From: cpineda at grupodiga.com.ve (Carlos Pineda) Date: Thu Sep 16 13:57:08 2004 Subject: =?iso-8859-1?Q?RE:_=5Bcaracas-pm=5D_Propuesta_de_Tema_para_Reuni=F3ndel?= =?iso-8859-1?Q?_S=E1bado?= In-Reply-To: Message-ID: <000001c49c1f$a97da700$6800a8c0@diga.loc> Yo paso hoy por el ISEIT dejame preguntarle a Ricardo Saludos Carlos -----Mensaje original----- De: caracas-pm-bounces@mail.pm.org [mailto:caracas-pm-bounces@mail.pm.org]En nombre de Ernesto Hernandez-Novich Enviado el: jueves, 16 de septiembre de 2004 11:49 a Para: Perl Mongers Caracas - Venezuela Asunto: Re: [caracas-pm] Propuesta de Tema para Reuni?ndel S?bado On Thu, 16 Sep 2004, Alexis Arnal wrote: > Me parece excelente idea, lo de la creaci?n de una peque?a aplicaci?n > tal como lo expresa el compa?ero Andr?s, por mi parte tengo una peque?a > aplicaci?n de ejemplo que trata de usar el Paradigma del MVC > (Model-View-Controler) y comprende el manejo de CGI::Application, > conexi?n mediante DBI a Postgres y manejo de plantillas con > HTML::Template, el cual pudiera servir de ejemplo para criticarlo hasta > la saciedad para optimizarlo,(ya que soy un novato y a?n me falta por > aprender mucho) y agregarle lo que propone Andr?s para el manejo del > correspondencia de la oficina y el menejo de sesiones que planteo > M?nica. Creo que tenemos un tema. Como lo de Alexis ya est? escrito, es m?s f?cil comenzar a verlo y discutirlo, quiz?s combinando las ideas de M?nica. Pienso que es preferible a comenzar "desde cero", como ser?a el caso de hacer lo que propone Andr?s, b?sicamente porque habr?a una fase de _dise?o_ previa que tendr?amos que considerar. Lo que podr?amos hacer es que para la poxima sesi?n si armamos la aplicaci?n que sugiere Andr?s, pero pensando en el dise?o b?sico, as? cubrimos "la otra parte" de hacer una aplicaci?n Web. Entonces Alexis lleva su c?digo, nos explica lo que intenta hacer y lo disecamos. Si no le has puesto CGI::Session todav?a, por lo menos intentamos agregarlo. ?Ser? que podremos encontrarnos en el ISEIT? -- Ernesto Hern?ndez-Novich - On Linux 2.6.8.1 i686 - Unix: Live free or die! Geek by nature, Linux by choice, Debian of course. If you can't apt-get it, it isn't useful or doesn't exist. GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3 _______________________________________________ caracas-pm mailing list caracas-pm@mail.pm.org http://www.pm.org/mailman/listinfo/caracas-pm From cpineda at grupodiga.com.ve Fri Sep 17 07:29:25 2004 From: cpineda at grupodiga.com.ve (Carlos Pineda) Date: Fri Sep 17 07:24:29 2004 Subject: [caracas-pm] RV: reunion de este sabado 18-09-04 Message-ID: <000201c49cb1$f81c1170$6800a8c0@diga.loc> Hola a todos, ya hable en el Iseit y no hay problema, ya tenemos tema, tenemos sitio, entonces nos vemos ma?ana en el ISEIT, para los que no saben donde esta, visiten http://www.iseit.com.ve/portal/index.pl/ubicacion_del_iseit. Nos vemos ma?ana Saludos Carlos Pineda From emhn at telcel.net.ve Fri Sep 17 08:19:32 2004 From: emhn at telcel.net.ve (Ernesto Hernandez-Novich) Date: Fri Sep 17 08:19:37 2004 Subject: [caracas-pm] RV: reunion de este sabado 18-09-04 In-Reply-To: <000201c49cb1$f81c1170$6800a8c0@diga.loc> References: <000201c49cb1$f81c1170$6800a8c0@diga.loc> Message-ID: On Fri, 17 Sep 2004, Carlos Pineda wrote: > Hola a todos, ya hable en el Iseit y no hay problema, ya tenemos tema, > tenemos sitio, entonces nos vemos ma?ana en el ISEIT, para los que no saben > donde esta, visiten > http://www.iseit.com.ve/portal/index.pl/ubicacion_del_iseit. Carlos, muchas gracias por tu diligencia. Nos vemos ma?ana. -- Ernesto Hern?ndez-Novich - On Linux 2.6.8.1 i686 - Unix: Live free or die! Geek by nature, Linux by choice, Debian of course. If you can't apt-get it, it isn't useful or doesn't exist. GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3 From cpineda at grupodiga.com.ve Fri Sep 17 08:51:55 2004 From: cpineda at grupodiga.com.ve (Carlos Pineda) Date: Fri Sep 17 08:46:59 2004 Subject: [caracas-pm] Sugerencia Message-ID: <000901c49cbd$7ee511b0$6800a8c0@diga.loc> no podriamos hablar ma?ana con Ricardo para cuadrar de una vez que las reuniones de perl fuesen en el ISEIT, tiene todos los recursos necesarios para ense?ar (proyector, pizarras, pupitres, internet), tiene estacionamiento y le llega el metro bus, y creo que Ricardo le agradaria la idea, aunque no es pro-perl no creo que no nos de la aprobaci?n. asi nos podriamos concentrar en el tema y no en estar buscando sitio ademas tiene pizeria cerca Saludos Carlos Pineda P.D.: para el que crea que lo sugiero por mi comodidad, le informo que yo vivo en san antonio de los altos y para mi cualquier parte de caracas es igual. From aarnal at me.gov.ve Mon Sep 20 10:48:31 2004 From: aarnal at me.gov.ve (Alexis Arnal) Date: Mon Sep 20 10:50:11 2004 Subject: [caracas-pm] HTML::Template =?iso-8859-1?q?=BFSe?= puede incluir un TMPL_VAR dentro del name de un TMPL_INCLUDE? Message-ID: <1095695309.4525.29.camel@m1344.me.gov.ve> Saludos. Estoy utilizando HTML::Template Actualmente estoy incluyendo un encabezado al sistema de la siguiente forma: Pero tal como nos recomendaron en la reuni?n del S?bado estamos tratando de optimizar el prototipo mostrado el s?bado haciendo que el sistema sea lo m?s independientemente posible de la plataforma, para ello estamos implementando un archivo de configuraci?n al cual se le hace un "require" para importar algunas variables como las rutas. Esto funciona bien pero se presenta un problema con las Plantillas HTML. Lo que queremos es hacer algo parecido a esto: "> siendo: $cabecera="/var/www/kit_html/cabecera.html" template->param(cabecera=>$cabecera); $cabecera se encuentrael cual se encuentra en un archivo aparte de configuraci?n. Al parecer no puedo tener un TMPL_VAR dentro de un TMPL_INCLUDE o visceversa. tambien experiment? con esto: siendo: $cabecera="" template->param(cabecera=>$cabecera); Espero que alguno de los que hayan trabajado con este modulo me puedan dar una orientaci?n y en caso de no ser factible sugerirme otra soluci?n From emhn at telcel.net.ve Mon Sep 20 14:28:52 2004 From: emhn at telcel.net.ve (Ernesto Hernandez-Novich) Date: Mon Sep 20 14:28:55 2004 Subject: [caracas-pm] HTML::Template =?iso-8859-1?q?=BFSe?= puede incluir un TMPL_VAR dentro del name de un TMPL_INCLUDE? In-Reply-To: <1095695309.4525.29.camel@m1344.me.gov.ve> References: <1095695309.4525.29.camel@m1344.me.gov.ve> Message-ID: On Mon, 20 Sep 2004, Alexis Arnal wrote: > Estoy utilizando HTML::Template > > Actualmente estoy incluyendo un encabezado al sistema de la siguiente > forma: > > > > Pero tal como nos recomendaron en la reuni?n del S?bado estamos tratando > de optimizar el prototipo mostrado el s?bado haciendo que el sistema sea > lo m?s independientemente posible de la plataforma, M?s que de la "plataforma", de la "instalaci?n". Lo que debes buscar es que no haya nombres "cableados" en los templates ni en los programas, permiti?ndote instalar en cualquier parte con mayor facilidad. > para ello estamos implementando un archivo de configuraci?n al cual se > le hace un "require" para importar algunas variables como las rutas. Buena idea. > Esto funciona bien pero se presenta un problema con las Plantillas HTML. > > Lo que queremos es hacer algo parecido a esto: > > "> > > siendo: > $cabecera="/var/www/kit_html/cabecera.html" > template->param(cabecera=>$cabecera); > > $cabecera se encuentrael cual se encuentra en un archivo aparte de > configuraci?n. Lo que quieres hacer es tener un directorio cualquiera, digamos /var/www/kit_templates, que contenga _todos_ los templates, y que cuando uses el nombre "cabecera.html", se busque precisamente en ese directorio. El m?dulo ya tiene esa funcionalidad $base_de_templates = '/var/www/kit_templates'; my $template = HTML::Template->new( filename => 'foo.html', path => [ $base_de_templates ] ); buscar? _autom?ticamente_ /var/www/kit_templates/foo.html, y si hay TMPL_INCLUDE en foo.html, utilizar? ese mismo directorio para buscar. Puedes incluir varios directorios en el path si es necesario. El mismo efecto se logra si utilizas la variable de ambiente HTML_TEMPLATE_ROOT. Si usas las dos cosas, la variable de ambiente se considera primero, y lo especificado en el new() despu?s. $ENV{HTML_TEMPLATE_ROOT} = '/var/www/templates:/var/www/mas_templates'; > Al parecer no puedo tener un TMPL_VAR dentro de un TMPL_INCLUDE o > visceversa. No se puede. Pero la ?nica raz?n para querer hacerlo es buscar templates con nombres "calculados", y para eso existen los m?todos descritos anteriormente. -- Ernesto Hern?ndez-Novich - On Linux 2.6.8.1 i686 - Unix: Live free or die! Geek by nature, Linux by choice, Debian of course. If you can't apt-get it, it isn't useful or doesn't exist. GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3 From mtahan at me.gov.ve Mon Sep 20 09:37:41 2004 From: mtahan at me.gov.ve (=?ISO-8859-1?Q?M=F3nica?= Tahan) Date: Mon Sep 20 15:36:42 2004 Subject: [caracas-pm] www.solinux.org.ve Message-ID: <1095691061.1222.5.camel@box> Saludos perl mongers, En la renuni?n que tuvimos el pasado s?bado uno de los perl monger que asisti?n me dio la siguiente direcci?n url para que la visitara: http://www.solinux.org.ve, raz?n por la cual he estado tratando de visitar y no ha sido posible, escribo esto a la lista para que el due?o de la p?gina en cuenti?n est? al tanto, ya que puede ser que la misma est? caida o simplemente Yo anot? mal la direcci?n. Sin m?s que decir, Atentamente, -- Ing. M?nica Tahan Analista de Sistemas Oficina Ministerial de Inform?tica Ministerio de Educaci?n y Deportes From aarnal at me.gov.ve Tue Sep 21 16:04:26 2004 From: aarnal at me.gov.ve (Alexis Arnal) Date: Tue Sep 21 16:06:00 2004 Subject: [caracas-pm] HTML::Template =?iso-8859-1?q?=BFC=F3mo?= retorno un valor pasado por un template como associate? Message-ID: <1095800662.3532.405.camel@m1344.me.gov.ve> Saludos, Ya resolv? los problemas de los include colocandole rutas relativas(ten?a rutas absolutas), y con el archivo de configuraci?n le hago un require para pasar las variables que necesito. A?n sigo tratando de implementar manejo de sesiones con CGI::Session:Postgres, (hasta que entienda como trabajar con MOD_PERL y usar Apache::Session). Leyendo de nuevo el manual de CGI::Session encontr? que los valores de session se pasan con Cookies(cosa que no deseo hacer) y tambien los puedo pasar mediante el par?metro associate de HTML::Template de la siguiente manera: sub n1{ #---------------- #Leyendo Formulario #---------------- use CGI::Session; my $self=shift; my $form_user=$self->query->param('usuario'); #---------------- #Creando sesi?n #---------------- my $dbh = DBI->connect("dbi:Pg:dbname=sesion","$form_user","") or die "\nError ($DBI::err): $DBI::errstr\n"; $session = new CGI::Session("driver:PostgreSQL",$form_user,{Handle=>$dbh,TableName=>'sessions'}); $session->param('usuario',$form_user); my $CGISESSID=$session->id(); $session->param('$CGISESSID',$CGISESSID); #--------------- #Mostrando plantillas #--------------- use HTML::Template; use CGI::Carp qw(warningsToBrowser fatalsToBrowser); my $template = HTML::Template -> new(filename => '2.html', path => '/var/www/html/pruebaCGI_app', associate=>$session); return $template -> output } Este c?digo muestra la plantilla con el valor de la sesi?n, el problema que tengo es que no entiendo como recupero la variable $session para pasarla a una nueva plantilla. Atte. Ing.Alexis Arnal MED. Caracas-Venezuela From gdelfino at mac.com Tue Sep 21 16:18:32 2004 From: gdelfino at mac.com (Gustavo Delfino) Date: Tue Sep 21 16:18:35 2004 Subject: =?ISO-8859-1?Q?Re:_[caracas-pm]_HTML::Template_=BFC=F3mo=09retor?= =?ISO-8859-1?Q?no_un_valor_pasado_=09por_un_template_como_associ?= =?ISO-8859-1?Q?ate=3F?= In-Reply-To: <1095800662.3532.405.camel@m1344.me.gov.ve> References: <1095800662.3532.405.camel@m1344.me.gov.ve> Message-ID: On Sep 21, 2004, at 17:04, Alexis Arnal wrote: > A?n sigo tratando de implementar manejo de sesiones con > CGI::Session:Postgres, (hasta que entienda como trabajar con MOD_PERL y > usar Apache::Session). Alexis, aunque el nombre parezca indicar lo contrario, puedes utilizar Apache::Session sin mod_perl Saludos, Gustavo Delfino From rafaelnunez at cantv.net Wed Sep 22 07:14:22 2004 From: rafaelnunez at cantv.net (=?ISO-8859-15?B?UmFmYWVsIE768WV6?=) Date: Wed Sep 22 07:14:32 2004 Subject: [caracas-pm] Master the Basics of Perl with This New Book Message-ID: <462330717.20040922081422@cantv.net> http://newsvac.newsforge.com/article.pl?sid=04/09/21/1932229 Julie Miller writes "Berkeley, CA - 20 September 2004????Commonly used for CGI programming and extracting and translating data, Perl is the workhouse of the Internet. With its no-frills, get-the-job-done attitude, Perl is the trusted source behind many websites, two high-profile examples being Amazon.com and slashdot.com. Recognizing the need for an updated and comprehensive beginning Perl book, Apress and James Lee are proud to announce the publication of Beginning Perl, Second Edition. From mtahan at me.gov.ve Fri Sep 24 04:43:04 2004 From: mtahan at me.gov.ve (=?ISO-8859-1?Q?M=F3nica?= Tahan) Date: Fri Sep 24 10:42:02 2004 Subject: [caracas-pm] Capturar la Salida HTML producida utilizando HTML::Template en otro archivo HTML para ser llevado a PDF Message-ID: <1096018984.1280.14.camel@box> Saludos Perl Mongers, En este momento me encuentro desarrollando en perl utilizando CGI::Application con HTML::Template y estoy tratando de generar un archivo PDF a partir de una salida HTML para ello pienso utilizar PDF::FromHTML pero no he logrado capturar la salida de la plantilla en un archivo, lo que intent? hacer fue lo siguiente: $html = $template -> output; open (PRUEBA, ">/tmp/prueba.html"); print PRUEBA <$html>; close (PRUEBA); Donde $template es la variable que contiene la plantilla HTML, me di cuenta que haciendo esto obtengo que la variable $html contiene un valor nulo, Si no me equivoco esto se debe a que estoy generando un proceso y no cargando un valor en una variable cualquiera, puesto que output es un m?todo que se aplica al objeto $template. Lo que quiero evitar es comenzar a generar una plantilla HTML a partir de CGI, puesto que es bastante tedioso, todo lo contrario, me gustar?a capturar la plantilla HTML con los valores que se asignan din?micamente a trav?s de CGI, si alguno de ustedes conoce alguna manera de poder solucionar este inconveniente se lo agradezco, sin m?s que decir, se despide: Atte, -- Ing. M?nica Tahan Analista de Sistemas Oficina Ministerial de Inform?tica Ministerio de Educaci?n y Deportes From juanjose at lunarpages.com Fri Sep 24 11:10:08 2004 From: juanjose at lunarpages.com (Juan Jose Natera Abreu) Date: Fri Sep 24 11:10:11 2004 Subject: [caracas-pm] Capturar la Salida HTML producida utilizando HTML::Template en otro archivo HTML para ser llevado a PDF In-Reply-To: <1096018984.1280.14.camel@box> References: <1096018984.1280.14.camel@box> Message-ID: <1096042208.26053.21.camel@juanjose.lunarpages.lan> Hola, algunos comentarios: > $html = $template -> output; Lo de arriba esta correcto y deberia hacer lo que tu esperas, si no lo hace, entonces otra cosa esta mal. > open (PRUEBA, ">/tmp/prueba.html"); Tienes que verificar que el archivo fue abierto: open (PRUEBA,'>/tmp/prueba.html') || die $!; > print PRUEBA <$html>; La linea anterior esta mal, a menos que $html sea un filehandle que has abierto previamente y del cual pretendes leer una linea y escribirla a PRUEBA. lo que tu quieres ahi es simplemente: print PRUEBA $html; > close (PRUEBA); Tambien tienes que verificar que el archivo fue cerrado: close (PRUEBA) || die $!; En resumen, tu problema esta antes del codigo que muestras, acostumbrate a escribir lo siguiente al principio de tus scripts y te evitaras muchos dolores de cabeza. use warnings; use strict; > Donde $template es la variable que contiene la plantilla HTML, me di > cuenta que haciendo esto obtengo que la variable $html contiene un valor > nulo, Si no me equivoco esto se debe a que estoy generando un proceso y > no cargando un valor en una variable cualquiera, puesto que output es un > m?todo que se aplica al objeto $template. Si $html es nulo, significa que algo esta antes, ya que $template no genero nada. Si no vas a usar $html para otra cosa, podrias escribir lo siguiente: open (PRUEBA,'>/tmp/prueba.html') || die $!; print PRUEBA $template->output; close (PRUEBA) || die $!; Aunque eso no va a cambiar el hecho de que $template->output; genere una salida vacia. pues como mendione antes, el problema esta antes del codigo que muestras. Saludos, Juan Natera From mtahan at me.gov.ve Mon Sep 27 09:31:55 2004 From: mtahan at me.gov.ve (=?ISO-8859-1?Q?M=F3nica?= Tahan) Date: Mon Sep 27 15:30:50 2004 Subject: [caracas-pm] Convertir un Archivo HTML a PDF Message-ID: <1096295515.2577.8.camel@box> Saludos Perl Mongers Primero que nada muchas gracias a Juan Jose Natera Abreu por responderme la duda anterior, en realidad el error era de sintaxis. Ahora me encuentro tratando de convertir un archivo HTML a un formato PDF para ello estoy utilizando el m?dulo PDF::FromHTML,el c?digo es un escenario como este: #!usr/bin/perl -w use PDF::FromHTML; my $pdf = PDF::FromHTML->new(); $pdf->load_file('/tmp/silly.html'); #carga el archivo silly.html $pdf->convert (LineHeight => 10, Landscape => 1 ); $pdf->write_file('/tmp/silly.pdf'); El c?digo anterior me genera el archivo pdf, pero cuando voy a abrirlo resulta que est? en blanco, pues no tiene p?ginas, la verdad no s? a qu? se debe, ya que utilic? este m?dulo siguiendo la explicaci?n de la documentaci?n de CPAN. Si alguien puede aclararme el porqu? est? pasando esto se lo agradezco de antemano. Sin m?s que decir, Atentamente, -- Ing. M?nica Tahan Analista de Sistemas Oficina Ministerial de Inform?tica Ministerio de Educaci?n y Deportes From emhn at telcel.net.ve Tue Sep 28 07:40:03 2004 From: emhn at telcel.net.ve (Ernesto Hernandez-Novich) Date: Tue Sep 28 07:40:08 2004 Subject: [caracas-pm] Convertir un Archivo HTML a PDF In-Reply-To: <1096295515.2577.8.camel@box> References: <1096295515.2577.8.camel@box> Message-ID: On Mon, 27 Sep 2004, M?nica Tahan wrote: > tratando de convertir un archivo HTML a un formato PDF para ello estoy > utilizando el m?dulo PDF::FromHTML [...] > $pdf->convert (LineHeight => 10, > Landscape => 1 > ); [...] > El c?digo anterior me genera el archivo pdf, pero cuando voy a abrirlo > resulta que est? en blanco, pues no tiene p?ginas. Tienes que indicar alg?n font durante la conversi?n. -- Ernesto Hern?ndez-Novich - On Linux 2.6.8.1 i686 - Unix: Live free or die! Geek by nature, Linux by choice, Debian of course. If you can't apt-get it, it isn't useful or doesn't exist. GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3 From matc at nuevomundo.com.ve Wed Sep 29 05:59:34 2004 From: matc at nuevomundo.com.ve (Manuel Telleria) Date: Wed Sep 29 06:00:35 2004 Subject: [caracas-pm] Re: caracas-pm Digest, Vol 5, Issue 16 In-Reply-To: <200409281700.i8SH0hIs017461@www.pm.org> References: <200409281700.i8SH0hIs017461@www.pm.org> Message-ID: <415A9596.3070801@nuevomundo.com.ve> caracas-pm-request@mail.pm.org wrote: >Send caracas-pm mailing list submissions to > caracas-pm@mail.pm.org > >To subscribe or unsubscribe via the World Wide Web, visit > http://www.pm.org/mailman/listinfo/caracas-pm >or, via email, send a message with subject or body 'help' to > caracas-pm-request@mail.pm.org > >You can reach the person managing the list at > caracas-pm-owner@mail.pm.org > >When replying, please edit your Subject line so it is more specific >than "Re: Contents of caracas-pm digest..." > > >Today's Topics: > > 1. Convertir un Archivo HTML a PDF (M?nica Tahan) > 2. Re: Convertir un Archivo HTML a PDF (Ernesto Hernandez-Novich) > > >---------------------------------------------------------------------- > >Message: 1 >Date: Mon, 27 Sep 2004 16:31:55 +0200 >From: M?nica Tahan >Subject: [caracas-pm] Convertir un Archivo HTML a PDF >To: caracas-pm@mail.pm.org >Message-ID: <1096295515.2577.8.camel@box> >Content-Type: text/plain; charset=iso-8859-1 > > Saludos Perl Mongers > > Primero que nada muchas gracias a Juan Jose Natera Abreu por >responderme la duda anterior, en realidad el error era de sintaxis. > > Ahora me encuentro tratando de convertir un archivo HTML a un formato >PDF para ello estoy utilizando el m?dulo PDF::FromHTML,el c?digo es un >escenario como este: >#!usr/bin/perl -w > >use PDF::FromHTML; > >my $pdf = PDF::FromHTML->new(); >$pdf->load_file('/tmp/silly.html'); #carga el archivo silly.html >$pdf->convert (LineHeight => 10, > Landscape => 1 > ); >$pdf->write_file('/tmp/silly.pdf'); > > El c?digo anterior me genera el archivo pdf, pero cuando voy a abrirlo >resulta que est? en blanco, pues no tiene p?ginas, la verdad no s? a qu? >se debe, ya que utilic? este m?dulo siguiendo la explicaci?n de la >documentaci?n de CPAN. Si alguien puede aclararme el porqu? est? pasando >esto se lo agradezco de antemano. > > Sin m?s que decir, > > Atentamente, > > Ante todo debo preguntarte algo, ya viste que error se genera en al archivo log de Apache ? Este archivo debe estar en un sitio como /var/log/apache/error.log, revisandolo a lo mejor puedas ver con mas claridad cual es el problema. Por otra parte te comento que estuve haciendo pruebas con ese m?dulo y una de las cosas que me ocurrio fu? que el archivo (PDF) no se creaba bien cuando el HTML ten?a im?genes (), otra raz?n podr?a ser que el archivo HTML no este bien formado (el m?dulo es muy suceptible a estas cosas), que significa esto, que puede ser que tengas tags que no esten cerrados o cosas por el estilo. Por ultimo puedes verificar estas cosas usando el siguiente comando (que viene con el m?dulo). # perl html2pdf.pl nombre_archivo.html > nombre_archivo.pdf espero que te sirva de algo. -- Manuel Armando Telleria Cardozo Analista de Sistemas - (0212) 201-1361 Manuel.Telleria@nuevomundo.com.ve Nuevo Mundo Seguros - http://www.nuevomundo.com.ve From mtahan at me.gov.ve Wed Sep 29 07:17:19 2004 From: mtahan at me.gov.ve (=?ISO-8859-1?Q?M=F3nica?= Tahan) Date: Wed Sep 29 13:16:20 2004 Subject: [caracas-pm] Convertir HTML a PDF Message-ID: <1096460238.1888.26.camel@box> Saludos Perl Monger Primero que nada Gracias a Ernesto y a Manuel por sus respuestas, de verdad me sirvieron de mucho, decid? no utilizar PDF::FromHTML comenc? a utilizar uno que me pareci? mejor, a continuaci?n les escribo el c?digo con el cual logr? resolver el problema: use HTML::HTMLDoc; use HTML::Template; my $archivo1='prueba1.html'; #Nombre de la plantilla HTML my $ruta='/tmp'; #Ruta de la plantilla HTML my $template = HTML::Template -> new(filename => $archivo1, path => $ruta); my $htmldoc = new HTML::HTMLDoc(); #$filename = '/ruta/archivo.html'; Cuando la entrada HTML viene de un archivo $html = $template -> output; # Para que la entrada HTML sea capturada desde la salida est?ndar $htmldoc->set_html_content($html); #Alternativa para traer tu HTML desde la salida est?ndar o simplemente cualquier c?digo HTML que cargues en una variable # $htmldoc->set_input_file($filename); # alternativa para traer tu HTML desde un archivo $htmldoc->set_permissions('no-copy', 'no-modify','no-print'); $htmldoc->get_logoimage(); $format = "PDF"; $htmldoc->set_output_format($format); $htmldoc -> no_links(); $htmldoc -> set_header('.','.','.'); my $pdf = $htmldoc->generate_pdf(); print $pdf->to_string(); $pdf->to_file('/tmp/foo.pdf'); El c?digo que les coloco arriba simplemente sirve para convertir una fuente HTML en un archivo PDF, lo ?nico que no est? haciendo es cargarme las im?genes que contenga el HTML en el PDF, no s? por qu? raz?n pero si convierte el resto de los formatos HTML en PDF. Cabe destacar que este m?dulo lo descargu? de CPAN y simplemente lo utilic? como lo indica la documentaci?n. Atentamente, -- Ing. M?nica Tahan Analista de Sistemas Oficina Ministerial de Inform?tica Ministerio de Educaci?n y Deportes