mixiみとったら、Class::DBI::AutoLoaderがわかんないとかいうトピックをみっけた。
自動的にサブクラスを作ってくれるらしい。サブクラスの命名則は文字数字以外をsplitして最初の文字を大文字にして連結。
$table = join('', map { ucfirst($_) } split(/[^a-zA-Z0-9]/, $table));
おー、これは便利そうだ、いったいどうやってるんだ?とコードを眺めてみたら、importメソッドからgenerateClassを呼び出して、eval($class)でサブクラスを作ってるみたい。
で、importってドコで呼ばれんの?
ってことで少し調べてみたら、 続・初めてのPerlの12章に書いてあった。
use My::Module qw(kzfm hana yuki);
は以下のコードと等価
require My::Module; My::Module->import( qw(kzfm hana yuki) );