Ich glaube, daß das der falsche Lösungsansatz ist.
Die Ursache ist doch die, daß die Lebenszeit der Sperrung auf Serverseite nicht automatisch überwacht wird. Es fehlt der Automatismus, der einen User aus so einem brisanten Dialog herauswirft, wenn er andere User absichtlich durch Untätigkeit blockiert.
Genau so gut kannst Du auch den Netzwerkstecker am PC abziehen und das kannst Du schlecht mit Perl abfangen.
Denke doch nur mal daran, wie es ist, wenn ein User in einem Internet-Shop eintritt, sich den Warenkorb füllt und dann einfach die Internet-Verbindung getrennt wird. Da kann man sich doch auch nicht beim User beschweren. Man muß Mittel und Wege beschreiten, daß eine Session automatisch abläuft und die Datenbanken usw. wieder bereinigt werden.
$SIG{USER} = sub {love 'Perl' or die};