Cerca di fare una via di mezzo tra lo script di Shishii e questo:

codice:
use strict;
use warnings;
use cgi;

use DBI;

# pagina.cgi?id=1&nome1=Ema&eta1=26&sesso1=M 

my $q = new CGI;

$id = $q->param('id') || 'null';
$nome = $q->param('nome') || 'null';
$eta = $q->param('eta') || 'null';
$sesso = $q->param('sesso') || 'null';

my $dbh = DBI->connect ( "dbi:Pg:dbname=prova_db" )
my $sth = $dbh->prepare( "INSERT INTO table(id,nome,eta,sesso) VALUES (?,?,?,?)" );

$sth->execute( $id, $nome, $eta, $sesso );

print $q->header();
print "inseriti: $id, $nome, $eta, $sesso\n";

exit();