# three text inputs, each with a size 30 tag form('input', 'text', 'user_name:Name', '30', 'user_email:Email|format user@domain.com', '30', 'user_title:Topic', '30'); # textarea element, size 30 cols x 10 rows form('textarea', 'user_message:Feedback', '30x10'); # select element, name 'city', four options form('select:sort', 'city:City', 'Tampere', 'Helsinki', 'Espoo', 'Turku'); # input checkbox form('input', 'checkbox', 'reply|waiting for answer?'); # input submit form('input', 'submit', 'send'); #### sub split { my %key; if ($_[0] =~ /^(.+?):(.+?)$/) { $key{'name'} = $1; $key{'definition'} = $2; $key{'altdefinition'} = ''; } elsif ($_[0] =~ /^(.+?)\|(.+?)$/) { $key{'name'} = $1; $key{'altdefinition'} = $2; $key{'definition'} = ''; } elsif ($_[0] =~ /^(.+?):(.+?)\|(.+?)$/) { $key{'name'} = $1; $key{'definition'} = $2; $key{'altdefinition'} = $3; } return %key; }