• Publicidad

Problemas con PDF::Create y Excel::Writer::XLSX

Aquí encontrarás todo lo que sea específicamente acerca de módulos de Perl. Ya sea que estás compartiendo tu módulo, un manual o simplemente tienes una duda acerca de alguno.

Problemas con PDF::Create y Excel::Writer::XLSX

Notapor manu8c » 2011-04-14 12:41 @570

Hola de nuevo.

Al exportar el proyecto a Mac OS, me están dando problemas el módulo PDF::Create.

Lo instalo con CPAN como siempre pero esta vez me da error al leerlo al crear el nuevo PDF.

Si en el código pongo

#!/usr/bin/perl o #!/Applications/XAMPP/xamppfiles/bin

use PDF::Create;


no me da error. O sea que el módulo doy por hecho que lo carga bien.

Pero cuando añado esta línea:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $pdf = new PDF::Create('filename' => " $FORM{'tittle'}.pdf",'Author' => "$FORM{'name'}",'Title'  => 'Sample PDF','CreationDate' => [ localtime ] );
  2.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


o en su defecto, más sencilla

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $pdf = new PDF::Create('filename' => " test.pdf");
  2.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


me salta el siguiente error al lanzar el CGI:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Can't use an undefined value as a symbol reference at /Applications/XAMPP/xamppfiles/lib/perl5/5.10.1/PDF/Create.pm line 66.
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
,

El archivo Create.pm en la línea 66 contiene

binmode $fh;

He probado con el módulo PDF::API2 y con el módulo Excel::Writer::XLSX;
y también me saltan errores, así que supongo que será algo común.

Gracias.

Cuando añado use Excel::Writer::XLSX;

el resultado es que no encuentra el módulo:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Can't locate Excel/Writer/XLSX.pm in @INC (@INC contains: /Applications/XAMPP/xamppfiles/lib/perl5/site_perl/5.10.1//darwin-2level /Applications/XAMPP/xamppfiles/lib/perl5/site_perl/5.10.1/ /Applications/XAMPP/xamppfiles/lib/perl5/5.10.1/darwin-2level /Applications/XAMPP/xamppfiles/lib/perl5/5.10.1 /Applications/XAMPP/xamppfiles/lib/perl5/site_perl/5.10.1/darwin-2level /Applications/XAMPP/xamppfiles/lib/perl5/site_perl/5.10.1 . /Applications/XAMPP/xamppfiles) at /Applications/XAMPP/xamppfiles/htdocs/proyectoManu/cgi-bin/report.pl line 9. BEGIN failed--compilation aborted at /Applications/XAMPP/xamppfiles/htdocs/proyectoManu/cgi-bin/report.pl line 9.
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Esta todo igual que en Windows, y cuando instalo los módulos me dice que ya están actualizados.
manu8c
Perlero nuevo
Perlero nuevo
 
Mensajes: 11
Registrado: 2011-03-31 09:45 @448

Publicidad

Re: Problemas con PDF::Create y Excel::Writer::XLSX

Notapor explorer » 2011-04-14 16:22 @723

A mí lo que no me gusta es el espacio en blanco que estás poniendo delante del nombre del fichero... puede provocar errores...

El error sale porque el módulo no ha podido crear un fichero con el nombre que le pasas con la opción 'filename'. Pero me extraña que te salga el error en la línea 66... según la última versión del módulo, debería saltar ese error en la línea anterior.

El error del Excel::Writer::XLSX es muy claro: no está instalado en ninguno de los directorios normales que el intérprete perl va a ir a buscarle.

Si dices que lo has instalado, búscalo por el disco, y mira a ver si coincide con alguno de los directorios indicados en @INC, como los que estás viendo.

En trouchelle.com veo que la versión 0.18 está disponible desde hace unos días.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Problemas con PDF::Create y Excel::Writer::XLSX

Notapor manu8c » 2011-04-14 16:39 @735

Acabo de crearme otro servidor XAMPP.

Lo que quiero intentar es que el @INC me lo coja del Perl del disco duro y no del servidor XAMPP (por llamarlo de alguna manera). Por lo menos para hacer las pruebas.

Yo creía que con esto buscaba la librería en el Perl del servidor pero el error me lo sigue dando en el @INC del XAMPP.

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Can't locate PDF/Create.pm in @INC (@INC contains: /Applications/XAMPP/xamppfiles/lib/perl5/site_perl/5.10.1//darwin-2level
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Un paréntesis. Para instalar la librería a mano, bajo el tar, y meto la carpeta donde tengo el perl. Y desde allí la instalo con el make install, ¿no? (Omito los pasos de la instalación.)

Gracias.
manu8c
Perlero nuevo
Perlero nuevo
 
Mensajes: 11
Registrado: 2011-03-31 09:45 @448

Re: Problemas con PDF::Create y Excel::Writer::XLSX

Notapor explorer » 2011-04-14 16:48 @742

JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Problemas con PDF::Create y Excel::Writer::XLSX

Notapor manu8c » 2011-04-14 17:01 @751

Siento ser pesado. :(

Sé cómo instalarlo, el problema es que lo debería instalar sobre el servidor XAMPP y después de los problemas que me ha dado, prefiero instalarlo y usarlo desde la carpeta por defecto de Perl

/usr/bin/perl

El problema es que yo, en la cabecera del CGI, pongo

#!/usr/bin/perl


y el error @INC me lo sigue dando en la carpeta XAMPP y no sé por qué, ya que yo la ruta la marco como usr...
manu8c
Perlero nuevo
Perlero nuevo
 
Mensajes: 11
Registrado: 2011-03-31 09:45 @448

Re: Problemas con PDF::Create y Excel::Writer::XLSX

Notapor explorer » 2011-04-14 17:27 @769

Para saber qué perl se va ejecutar, depende del valor de tu $PATH (en caso de que escribas "perl" en la línea de comandos). Si estás en un sistema que entiende la línea shebang (y parece que es así), entonces esa línea indica qué perl (el intérprete) será arrancado para ejecutar el resto del programa.

Pero esa es la ruta de la ejecución del intérprete... No es la ruta hacia los módulos.

Si quieres saber en qué directorios va a buscar los módulos, ejecuta perl -V. Ten en cuenta que, no solo va a usar los directorios que el propio intérprete tenga incrustados dentro de sí, si no también los que estén indicados en la variable del sistema $PERL5LIB.

Dentro del programa, puede haber líneas

use lib '...';

que indiquen más directorios.

Incluso desde la línea de comandos se pueden indicar directorios, con la opción -I.

Así que...

Tu puedes instalar los módulos donde quieras, pero el intérprete debe ser capaz de encontrarlos.

Puedes usar la variable $PERL5LIB, la opción -I, el 'use lib'... o todos a la vez.

Si no... perl se quejará de que no lo encuentra.

Caso extremo. Si te fijas en la salida de perl -V, el último directorio donde va a mirar por el módulo, es el propio directorio de trabajo ('.') en donde estamos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Módulos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados