[caracas-pm] Capturar la Salida HTML producida utilizando
HTML::Template en otro archivo HTML para ser llevado a PDF
Juan Jose Natera Abreu
juanjose at lunarpages.com
Fri Sep 24 11:10:08 CDT 2004
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
More information about the caracas-pm
mailing list