Почему HTML::Template не работает?

У меня есть два файла login.pl и index.html. Я пытаюсь получить вход от пользователя в login.pl и отправить его в index.html, чтобы отображались имя и время пользователя. Мне сказали, что для этого мне нужно использовать HTML:Template, я посмотрел учебники по CPAN, но у них был очень простой пример, который не очень помог. Также я не могу заставить скаляр (местное время) работать в html-файле, так как это функция cgi. Я опубликую код для обоих файлов ниже, может кто-нибудь сказать мне, что я делаю неправильно и как это исправить?

login.pl

#!/usr/bin/perl -wT
use strict;
use HTML::Template;

use CGI qw(:standard);

my $template = HTML::Template->new( filename => 'dashboard.html' );

my %names = map { $_ => 1 } param;
my $open = "1234";

sub windowLayout() {
    return (
        header,
        start_html("Input Form"),
        start_form,
        "Please enter your username:",
        textfield( -name => 'username', -maxlength => 20 ),
        p,
        "Please enter your password:",
        password_field( -name => 'password', -maxlength => 20 ),
        p, submit,
        hr;
    );
}

if ( $names{username} and $names{password} ) {
    my $username = param("username");
    my $password = param("password");

    $template->param( USERNAME => $ENV{"username"} );



    if ( $password ne $open ) {
        print
            windowLayout(),
            end_form,
            p( { -style => 'Color: red;' }, "Sorry wrong password!" );
        print end_html;
    } else {
         print "Content-Type: text/html\n\n", $template->output;
         #print redirect("index.html");
    }
} else {
    print
        windowLayout(),
        end_html;
}

dashbooard.pl

<!DOCTYPE>
<html>
  <head><title>Testing</title></head>

  <body>
    My user name is: <TMPL_VAR NAME=USERNAME>
    The time is now: #have no idea how to get scalar(localtime) in HTML
  </body>
</html

РЕДАКТИРОВАТЬ:

Я получаю этот вывод, и похоже, что я все еще в login.pl

Мое имя пользователя: Время пришло:

РЕДАКТИРОВАТЬ 2:

Пун в $ in $template->output;

0 ответов

Другие вопросы по тегам