in reply to Undescribed problem with Win32::OLE

If your form field names and the database field names are the same (something I've always found handy) you can do something like this:
my $Form = new CGI; my $Vars = $Form->Vars; my @Fields = qw(short_descr class_id long_descr contact_org contact +_web chapter_id contact_name contact_phone contact_email est_value ot +her comments); my $InsertCmd = "insert into item (" . join (",",@Fields) . ") value +s(" . join ( ",", map { "'$Vars->{ $_ }'" } @Fields ) . ")"; $hDB->do ( $InsertCmd ) || die "DBI failed: $DBI::errstr";
This takes fields from the form, builds an insert statement and executes it. This was one of those situations where map was really called for.

(In the interest of brevity I've not included all of the error checking, connecting to the database, various comments etc.)

"Excellent. Release the hounds." -- Monty Burns.