in reply to Cannot download and print html

I'm not big on CGI.pm, but I don't know of a way to put those values in the HTTP headers. Instead, you can put them in the HTML head. I assume that's what you meant, anyway, since you said "http-equiv", which is for the META element.

Search the CGI.pm perldoc for -head.
use CGI qw(:all); my $cgi = CGI->new; print $cgi->header; print $cgi->start_html( -head => meta( { 'http-equiv' => 'refresh', 'content' => '5', 'url' => 'http://url/file.xls' })); print "<h1>HTML Body</h1>"; print $cgi->end_html();
rjbs

Replies are listed 'Best First'.
Re^2: Cannot download and print html
by jeffa (Bishop) on Jul 14, 2004 at 19:47 UTC

    You covered yourself by stating that you are not big on CGI.pm, but i really feel like i should nitpick as this is a very common mistake:

    use CGI qw(:all); my $cgi = CGI->new;
    That is mixing the two styles you use CGI as: procedural versus OO. Always use one, but never use both. That is, you either use this:
    # import CGI's functions into my namespace use CGI qw(:all); print header, start_html( ... ), h1('HTML Body'), end_html;
    or you use this:
    use CGI; # access CGI's functions as object methods my $cgi = CGI->new; print $cgi->header ... (yadda yadda)
    Cheers. :)

    jeffa

    L-LL-L--L-LL-L--L-LL-L--
    -R--R-RR-R--R-RR-R--R-RR
    B--B--B--B--B--B--B--B--
    H---H---H---H---H---H---
    (the triplet paradiddle with high-hat)
    
      You're quite right -- I just added that in annoyance when I realized that CGI wasn't exporting the meta sub, which provides the proper value for the -head parameter. I should have used CGI::meta, since I'm not sure how to get at it OO-ly. Or perhaps there is a subset export to just get things that are not available as methods? Enlighten me, frater!
      rjbs

        I prefer iburrell's suggestion, but CGI.pm has a funky little magical way of allowing you to pull any tag into the current namespace:

        use CGI qw(meta); my $cgi = CGI->new;
        Still seems weird, but it works. :)

        jeffa

        L-LL-L--L-LL-L--L-LL-L--
        -R--R-RR-R--R-RR-R--R-RR
        B--B--B--B--B--B--B--B--
        H---H---H---H---H---H---
        (the triplet paradiddle with high-hat)
        
Re^2: Cannot download and print html
by iburrell (Chaplain) on Jul 14, 2004 at 20:28 UTC
    Refresh can be passed as an HTTP header. META HTTP-EQUIV is a way to set HTTP header equivalents in the HTML code. With CGI, the Refresh HTTP header can be set directly.
    print $cgi->header(-refresh => '5; http://url/file.xls');