[PERL] html code niet in perl script maar in bv template

Pagina: 1
Acties:

  • Qdance
  • Registratie: September 2002
  • Laatst online: 17-12-2023
Ik ben voor mijn stage bezig om een perl script te maken dat de invoer van een html form via e-mail verzend.

Dit werkt wel aardig, alleen nu heb ik de html-code op de volgende manier in het perl script verwerk. De bedoeling is alleen dat deze html code in een apart bestand moet komen te staan..soort template..en dat deze dan ingeladen wordt.

Weet iemand een oplossing hiervoor? Waarschijnlijk is het niet zo heel ingewikkeld, maar als beginner met perl ben ik er na 4 uur proberen nog niet uit!


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#mail user notification properties
    my %mail_user_notification = ( 
    from           => $helpdesk_mail,
    to             => $email,
    subject        => 'Synergy userright request - request rejected',
    'content-type' => 'text/html; charset="iso-8859-1"',
);


$mail_user_notification{body} = <<END_OF_BODY;

<html>

....alle html code.......
</html>

END_OF_BODY

sendmail(%mail_user_notification) || print "Error: $Mail::Sendmail::error\n";

  • muba
  • Registratie: April 2002
  • Laatst online: 19-10-2013

muba

Prince of Persia!

Heb je al op CPAN gezocht, naar HTML en Template?
http://search.cpan.org/~s...-Template-2.7/Template.pm

Dit is precies wat je zoekt.
De documentatie is makkelijk te begrijpen en correct. Het gebruik van HTML::Template is even wennen vind ik altijd weer maar het is heel simpel, duidelijk en overzichtelijk.

Met andere woorden, succes ermee.

Reporter: Mister Gandhi, what do you think of western civilisation?
Gandhi: I think it would be a good idea


  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 18-05 14:15
Zou dan liever voor de oplossing van Template Toolkit gaan. Wordt vaak gebruikt en is zat documentatie over te vinden. :)

  • muba
  • Registratie: April 2002
  • Laatst online: 19-10-2013

muba

Prince of Persia!

Mja, volgens mij verschillen HTML::Template en de Template Toolkit niet zo veel van elkaar, hoewel ik weinig ervaring (lees: geen ervaring) met de laatste heb.
Ik denk dat dit een kwestie is van "waar groei je mee op" en ieders eigen smaak.
Je zou als argument kunnen aanvoeren dat je Template Toolkit voor meer kunt gebruiken dan alleen HTML, maar dat kan met HTML::Template ook, al doet de naam anders vermoeden.

In elk geval, Qdance, heb je hier wel de twee meest gebruikte Perl template systemen en ik denk dat je daar toch best ver mee moet komen.

Reporter: Mister Gandhi, what do you think of western civilisation?
Gandhi: I think it would be a good idea


  • Qdance
  • Registratie: September 2002
  • Laatst online: 17-12-2023
Ik had idd op cpan gezocht en ben momenteel bezig om via html template een file/template met html code via sendmail te versturen.
Dit geeft alleen het volgende email bericht als resultaat:

code:
1
HTML::Template=HASH(0x1b3c55c)


ik gebruik hiervoor trouwens de volgende code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
!c:\perl\bin\perl

#Use clause
use CGI qw(:standard); 
use Mail::Sendmail 0.75;
use Strict;
use HTML::Template;


my %mail_test = ( 
        from           => $email,
        to             => $email,
        subject        => 'Test sending html template true sendmail',
        'content-type' => 'text/html; charset="iso-8859-1"',
        
);




my $template = "c:/inetpub/wwwroot/synergy/ur_request.tmpl";

$mail_test{body} = new HTML::Template( filename => $template );


sendmail(%mail_test)     || print "Error: $Mail::Sendmail::error\n";

  • muba
  • Registratie: April 2002
  • Laatst online: 19-10-2013

muba

Prince of Persia!

Hmm... zoals je in de documentatie kan lezen.

de output benader je met de... outmut method.

code:
1
2
3
4
5
6
my $templatefile = "c:/inetpub/wwwroot/synergy/ur_request.tmpl";
my $template = new HTML::Template( filename => $templatefile);

$template->param(...);

$mail_test{body} = $template->output();


Mja, eigenlijk een gevalletje van RTFM :)

Reporter: Mister Gandhi, what do you think of western civilisation?
Gandhi: I think it would be a good idea


  • BOOTZ
  • Registratie: Maart 2001
  • Laatst online: 17-03 09:38
een alternatief is om zelf een simpele template-parser te maken.

je maakt dan een textfile met je html, en speciale (zelfverzonnen) tags zoals <%TITLE%> <%CONTENT%> etc.

in perl kan je dan die file inladen, de tags vervangen (met =~ s/<\%TITLE\%>/Titel van m'n pagina/) en het geheel naar iemands browser sturen. (vergeet niet te escapen :P)

maar... de oplossing die al gegeven is is ook prima bruikbaar :)

Maak je eigen poll


  • Qdance
  • Registratie: September 2002
  • Laatst online: 17-12-2023
Bedankt voor de reacties,...helaas ben ik nu ziek maar als ik beter ben (en weer terug op mijn stageplek) dan ga ik het gelijk proberen.
Waar zouden we zijn zonder GOT :)


*Update* En jawel het werkt...mijn dank is groot _/-\o_ _/-\o_ _/-\o_

[ Voor 19% gewijzigd door Qdance op 19-11-2004 08:11 ]

Pagina: 1