Thanks for the tips about the explicit reconnects; I didn't know because I had never tested that in practice. ;-)
it would be nice if mysql_auto_reconnect reconnected AND reexecuted statements.
This is what the documentation claims, and it seems to work for me...
DBD::mysql has a "reconnect" feature that handles the so-called MySQL "morning bug": If the server has disconnected, most probably due to a timeout, then by default the driver will reconnect *and attempt to execute the same SQL statement again*. However, this behaviour is disabled when AutoCommit is off: Otherwise the transaction state would be completely unpredictable after a reconnect.
(4)
]
