According to the doc page DB_File
uses the constants defined in the dbopen function library. A quick web search on "man dbopen"
suggest that the constants defined in fcntl.h are part of this library so I would try "use Fcntl" to see if that clears up your errors.
Interestingly, the doc page indicates that using O_WRONLY as a flag to the open action will produce an error since it doesn't make any sense to open a database for writing only. It's probably a different, non-db, file that is being opened this way.
use strict; use warnings; use diagnostics;