日向夏特殊応援部隊

俺様向けメモ

生 DBI ユーザーのための DBI Cookbook (3)

d:id:ZIGOROu:20090814:1250262134 のさらに続編です。

現在接続している dbh 全てを disconnect したい場合

use strict;
use warnings;
use DBI;

### なんかいっぱい接続したりとかする

my %drhs = DBI->installed_drivers;
for my $drh ( values %drhs ) {
  for my $dbh (@{$drh->{ChildHandles}}) {
    eval { $dbh->disconnect; };
  }
}

こんな感じ。永続環境で1リクエストをさばく間は DBI->connect_cached() で接続するとして、それらを最後に明示的に disconnect するとかで使えると思う。