in reply to Seeking clarification on 'local' in Class::DBI txn code

Short answer: localing a value implicitly undefines it. Thus, you can think of this as doing:
local $class->db_Main->{ AutoCommit }; $class->db_Main->{ AutoCommit } = undef;
And, since autocommit is used as a boolean value, undef is treated in the same manner as zero, so it's like setting it to zero.

Personally, I like to be explicit about such things, so I would say

local $class->db_Main->{ AutoCommit } = 0
But that's just me. It's not necessary for any purpose other than to avoid having someone ask this question. In my opinion, though, that's a worthwhile reason to do it.
------------ :Wq Not an editor command: Wq