Class-DBIで連鎖的にカラムを設定する方法

あるカラムに値を設定した場合、他のカラムがそれに追随して自動的に変更される方法。
結論から言えば、add_triggerを使う。

# columnの部分にカラム名が入る。
__PACKAGE__->add_trigger(
	after_set_column=>\&for_after_set_column
);
sub for_after_set_column {
	my $self = shift;
	my $value = $self->get('column');
	# 値を加工する。
	$self->another_column($value); # 他のカラムに加工した値を設定する。
}

私はこれを、ISBNを設定すれば、自動的にEANやISBNの国籍コード、出版者コード等が埋まるように使った。