DBIC::Loader の blblack さんが綺麗なサンプルを返信してくれたのでそれを書くと、 my $test_ite = DBIC::Test->search; while ( my $test = $test_ite->next ) { # Fails ###foreach my $test ($test_ite->all) { # Works $test->text( $test->text . ' updated' ); $test->update; } とかで、イテレータでまわそうとするとupdate時に死ぬ。(searchで複数の行が帰ってくる場合) 配列で全部とってきてまわしたときは普通に動く。 ちなみに、DBIC::Test->search->all というのは CDBI でいうリストコンテキストでの search と同じことです。もちろん CDBI と同じように