in reply to Advantage of using DBI

MySQL comes with 2 basic interfaces: the libmysqlclient library, which provides C level access to mysql, and the mysql program, which provides a "human interface" to mysql (and which uses libmysqlclient itself).

When you're programming against an external program/system like a database, you generally want a precise and well-documented API, which means you use the the provided API and not try to hack the human interface if at all possible.

The DBI / DBD::mysql library is and has been THE standardized and supported interface for using libmysqlclient from perl for more than a decade. There is no other perl/mysql interface that's as well supported and fully functional. The old Msql/Mysql modules are ages behind the current functionality and Net::MySQL seems to be still in beta.