Um formulário em uma página apenas envia os dados para um endereço dado no atributo "action" da etiqueta (tag) "form".
Agora, no tal endereço tem de haver um programa (mais que só uma "rotina") que receba estes dados e faça alguma coisa com eles, além de gerar uma resposta para o browser que enviou os dados (por exemplo, formatar a ua tabela para impressão).
Em sites com CGI e Perl, eu faria um programa Perl para receber os dados, e usaria o objeto CGI. Supondo os campos "nome", "email", e "obs" no formulário, o início do código seria:
#!/usr/bin/perl
use CGI;
my $q = new CGI;
my $nome = $q->param('nome');
my $email = $q->param('email');
my $obs = $q->param('obs');
e já teriamos as variáveis com os valores do campos.
Aí podemos formatar e imprimir estes dados, ou gravá-los em disco, para posterior impressão.
A parte de gravação é:
open A, ">>dados.txt";
print A "$nome\n$email\n$obs\n";
close A;
e a cada 3 linhas temos uma entrada de formulário (que pode ser lida, formatada e impressa poteriormente, por outro programa).
E a saída, obrigatória, é a págin confirmando os dados e agradecendo o envio do formulário. Mais ou menos:
print <
Content-type: text/html
Obrigado pelo Envio dos Dados
Os dados foram recebidos com sucesso!
PAGINAHTML
E uma última linha para encerrr o programa:
exit;
Junte tudo e está pronto o programa (ao menos o modelo dele) que você precisa para processar o formulário.
Mude e acrescente os campos específicos do seu formulário, e depois preocupe-se apenas com a impressão.