$dbh->{Name}
возвращает имя БД из вашего дескриптора БД.
Если вы подключились к другой базе данных после подключения к вашей базе данных, используя mysql-запрос «USE db_name», и вы не настроили новый дескриптор базы данных perl DBI, конечно, $ dbh -> {Name} вернет вам первую ранее связано с ... Это не спонтанное поколение.
Таким образом, чтобы получить имя подключенной БД после настройки дескриптора БД - для DBI mysql:
sub get_dbname {
my ($dbh) = @_;
my $connected_db = $dbh->{name};
$connected_db =~ s/^dbname=([^;].*);host.*$/$1/;
return $connected_db;
}