Perl DBI (Perl Database Interface) — стандартизированный способ встраивания связи с базой данных в программы, написанные на языке программирования Perl[1]. Модуль Perl DBI размещён в CPAN, он может работать в ряде операционных систем, поддерживаемых языком.
В сентябре 1992 года Базз Мошетти, создатель interperl, заметил, что появилось несколько скомпилированных на заказ расширений perl (в то время perl версии 4 или, чаще, perl4), позволяющих подключаться к популярным базам данных на основе SQL, а именно Interbase, Informix, Oracle, и Sybase. Он привлек авторов этих заказных модулей[2] к проекту создания общего уровня интерфейса для баз данных, независимого от специфики базовых реализаций. Тим Банс возглавил эту работу и составил первичную спецификацию, которая, в итоге, станала модулем DBI в 1994 году после выпуска perl5[3]. С 2010 года сообщество Perl поддерживает DBI как модуль CPAN в соответствии с моделью ПО с открытым исходным кодом. Модули DBD (драйвер базы данных) используются в качестве подключаемых модулей к DBI, позволяя программистам использовать в своих приложениях почти независимый от базы данных код SQL. Программисты также могут косвенно использовать модули DBI и DBD, используя один модулей ORM, доступных для Perl, например DBIx::Class, для более независимого от базы данных кода без необходимости написания SQL.
Пакеты Perl DBI и DBD позволяют программистам Perl получать доступ ко многим СУБД стандартным способом[4]. Система реализует поддержку каждой из СУБД при помощи драйвера DBD[1], во многом так же, как особенности работа с аппаратными устройства одного класса от разных поставщиков реализуются в операционной системе при помощи драйвера устройства. Потенциальные пользователи DBD могут загрузить реализации DBD для конкретной СУБД из Интернета. Реализации DBD существуют для проприетарных продуктов, таких как IBM Db2, Microsoft SQL Server, Oracle, и для свободно распространяемых баз данных, таких как SQLite, PostgreSQL, Firebird и MySQL.
PHP 5 имеет аналогичный интерфейс, который называется PHP Data Objects (PDO)[5]. Java Database Connectivity (JDBC) также аналогичен DBI по своему функционалу.