Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re: inserting HTML file in a PERL script

by kyoshu (Curate)
on May 31, 2005 at 07:15 UTC ( #461953=note: print w/replies, xml ) Need Help??

in reply to inserting HTML file in a PERL script

why don't you just create a html template and
use HTML::Template;

example of perl sciript:

#!/usr/bin/perl -wT
use strict;
use CGI;
use HTML::Template;
use CGI::Carp qw/fatalsToBrowser/;

my $default_puslapis = 'pradzia';
my $default_sritis = 'pagrindinis';
my $templ = 'data/pagrindinis/main.html';

my $q = new CGI;
if (grep { /application\/xhtml\+xml/ } $q->Accept ) {
        print "Content-type: application/xhtml+xml\n\n";
} else {
        print "Content-type: text/html;Charset=utf-8\n\n";
my $tmpl = HTML::Template->new(filename => $templ);
my $puslapis = $q->param('puslapis') || $default_puslapis;
$puslapis =~ /(\w+)/;
$puslapis = $1;
my $sritis = $q->param('sritis') || $default_sritis;
$sritis =~ /(\w+)/;
$sritis = $1;

if (-e "data/$sritis/$puslapis.html") {
        undef local $/;
        open my $f, "<data/$sritis/$puslapis.html";
        my $content = <$f>;
        close $f;
        $tmpl->param('tekstas', $content);
} else {
        $tmpl->param('tekstas', 'Klaida!');

and then you create 'data/pagrindinis/main.html'
where in html code you just add something like:
<TMPL_VAR NAME="tekstas">
in the place where you want $content to appear.

(all this code is from working example with some changes for you to see :-))
  • Comment on Re: inserting HTML file in a PERL script

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://461953]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (4)
As of 2021-03-05 23:56 GMT
Find Nodes?
    Voting Booth?
    My favorite kind of desktop background is:

    Results (115 votes). Check out past polls.