主に自分用メモ。例えば以下のようなコードからDBIハンドルを取得してるとする use strict; use DBI; sub get_dbh { DBI->connect_cached(....); } sub foo { my $dbh = get_dbh(); $dbh->do(...); } sub bar { my $dbh = get_dbh(); $dbh->do(...); } foo(); bar(); .... で、まぁSET NAMES utf8を自動的に発行したいなーと思ったので、get_dbhに手を入れる sub get_dbh { my $dbh = DBI->connect_cached(...); $dbh->do("SET NAMES 'utf8'"); return $dbh; } そうするとget_dbh()内で DBIハンドル自体はconnect_c
![DBI-tip: Private State Variables : D-7 <altijd in beweging>](https://cdn-ak-scissors.b.st-hatena.com/image/square/da78a05937633f7a2b4b2219826151c370cd607b/height=288;version=1;width=512/https%3A%2F%2Fparts.blog.livedoor.jp%2Fimg%2Fusr%2Fcmn%2Fogp_image%2Flivedoor.png)