#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use blib; use CGI::FormBuilder; use Fcntl qw(:seek); my ($template, $perlcode); { local $/; $template = ; seek DATA, 0, SEEK_SET; $perlcode = ; } my $form = CGI::FormBuilder->new( action => 'TEST', title => 'TEST', fields => [qw/name color email/], submit => [qw/Update Delete/], reset => 0, template => { scalarref => \$template, type => 'HTC', variable => 'form', tagstyle => [qw(-classic -comment -asp +tt)], data => { script => $perlcode, template => $template, script => $0, perlcode => $perlcode, }, }, values => { color => [qw/yellow green orange/] }, validate => { color => [qw(red blue yellow pink)] }, ); my $mod = { color => { options => [[qw/red Red/],[qw/green Green/],[qw/ blue Blue/]], type => 'select', }, size => { value => 42 } }; while ( my ( $f, $o ) = each %{$mod} ) { $o->{name} = $f; $form->field(%$o); } my $out = $form->render; print "$out\n"; __DATA__ CGI::FormBuilder::Template::HTC example [%= form.jshead%] [%= form.start%] NAME:[%= form.field.name.field%]
COLOR:[%= form.field.color.field %]
SIZE:[%= form.field.size.value%]
[%= form.submit%]
[%= form.end%]

Script: [%= .script %]


The Script:

[%= perlcode escape=html %]