Hallo Daniel,
Der Client müsste in regelmäßigen Abständen ein Signal zum Server schicken, um dem mitzuteilen, daß er noch da ist. Wenn eine Weile kein Signal kommt, ist wohl niemand mehr da und Du kannst den Prozess beenden.
Wenn Du auf der Clientseite ein Applet oder Plugins hast, müsste das relativ problemlos gehen. Der Client sendet halt regelmäßig sein Signal.
Wenn auf der Clientseite nur HTML/Javascript ist, dann musst Du das Signal halt per CGI-Aufruf machen. Zum Beispiel für den Darstellungsrefresh (in einem Frame beispielsweise) verwendest Du ja vielleicht folgendes:
<meta http-equiv="refresh" content="3; URL=http://www.irgendwas.de/cgi-bin/chatinhalt_anzeigen.pl">
oder so. Wenn Du dann noch jedem Nutzer eine ID-Nummer zuordnest, kannst Du leicht feststellen, ob er noch da ist: Das könnte z.B. so aussehen:
<meta http-equiv="refresh" content="3; URL=http://www.irgendwas.de/cgi-bin/chatinhalt_anzeigen.pl?identifikationsnummer">
Da Du ja das META-Tag selbst per Perlscript erzeugst, ist das also kein Problem.
Ja, daß ist die Lösung die mir so spontan einfällt. Vielleicht hilft Dir das ja.
Gruß
Michael