use Win32::OLE; 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('NOTICE', etc.. ); $rs->AddNew(); $rs->{'title'}{'Value'} = $somevalue; <....> $rs->Update(); my $last_id = $rs->{'ID'}{'Value'};