Tengをnewするときには、接続に必要な情報のほかに、オプションをいくつか渡すことができる。 で、そのオプションの中に on_connect_do というのがあって、その名のとおり、データベースに接続した際に実行するSQLを指定することができる。 on_connect_do の処理は Teng::connect() の中で行なわれているのだが、 new で dbh を渡すと Teng::connect() が呼ばれない(その時点で既に接続されているので)。 connect() が呼ばれないので on_connect_doで指定した処理は実行されない。 # これだとon_connect_doは実行されない my $teng = Admin::DB->new( dbh => DBI->connect( 'DBI:mysql:database=hoge;host=localhost;', 'u