use Win32::OLE; use constant adOpenKeySet => 1; use constant adLockPessimistic => 2; use constant adCmdTable => '&H0002'; my $db_connection = new Win32::OLE('ADODB.Connection'); # Set the database connection details my $db_datasource = 'Driver={Microsoft Access Driver (*.mdb)};'; $db_datasource .= 'DBQ=classifieds.mdb'; # Connect to the database and tie the recordset object to the database. $db_connection->Open($db_datasource); my $rs = new Win32::OLE("ADODB.Recordset"); # you're going to have to define your consts that # you're using in the vbscript example $rs->Open('ADS', $db_connection, adOpenKeySet, adLockPessimistic, adCmdTable); $rs->AddNew(); $rs->{'title'}{'Value'} = 'Ad title'; $rs->{'posted_by'}{'Value'} = 'Simon Proctor'; $rs->{'date_authorised'}{'Value'} = 0; $rs->Update(); my $last_id = $rs->{'ID'}{'Value'}; $rs->close(); $db_connection->close();