my $lock = 0; $GetDataFromTable->execute($indexnumber) || die "Can't execute GetDataFromTable ($DBI::errstr)"; unless (($lock,$updon) = $GetDataFromTable->fetchrow()) { $InsertData->execute($data1,$someotherdata,1,1,0) || die "Can't execute InsertData ($DBI::errstr)"; goto DONE; } #### if ($lock) { # Do some other stuffDon't mess with it, it's LOCKED! } elsif(...) { ... } else (...) { ... } DONE: #Do some stuff #### if ($lock and 1) {