in reply to Why does DBI prepare break my loop?
Because you're storing a new handle in $sth thus destroying $sth thus ending the loop