Rolf: db file error meldung vom unix-server?

Morgen liebe leut,
Ich hab da ein problem dass ich leider noch nicht im forum gefunden habe.
Besser gesagt eine fehlermeldung von meinem server.
Im perl script hab ich -w eingeschaltet um mal zu sehen welche fehler
das script von sich gibt.
Der server meinte folgendes zu diesen codes:
----------
$maxusers   =        150;

$maxsize=$maxusers*8*2; #uname+pass average length is 8 chars
unlink($loginlog) if ((stat($loginlog))[7] > $maxsize); #line 66
use Fcntl ':flock';

if (dbmopen(%logins,$loginlog,0666))
            {
            flock(%logins,LOCK_EX); #line 71

der server schrieb dazu:
Unquoted string "logins" may clash with future reserved word at index.cgi line 71.
flock() on unopened filehandle logins at index.cgi line 71.
Unquoted string "logins" may clash with future reserved word at index.cgi line 99.
Use of uninitialized value in numeric gt (>) at index.cgi line 66.
----------

Was bedeuten diese fehler?
Schöne grüsse Rolf

  1. Halihallo Rolf

    if (dbmopen(%logins,$loginlog,0666))
                {
                flock(%logins,LOCK_EX); #line 71
    Unquoted string "logins" may clash with future reserved word at index.cgi line 71.

    Die Warnung, dass der Name logins nicht verwendet werden sollte, da es vielleicht eine
    gleichnamige build-in Funktion in künftigen Perl-Versionen geben könnte. An deiner Stelle
    würde ich einfach den Namen auf etwas anderes ändern. Ein %_logins würde wohl schon
    reichen.

    flock() on unopened filehandle logins at index.cgi line 71.

    dbmopen schlägt fehl und konnte den tied-Hash nicht aufbauen, z. B. Datei nicht gefunden
    o. ä. versuch einmal dbmopen(...) || die 'Fehler: '.$!;

    Zudem:
    aus perldoc -f dbmopen
    "           HASH is the name of the hash. (Unlike normal
                "open", the first argument is *not* a filehandle, even though it
                looks like one)."

    Es sollte eigentlich funktionieren. Aber vielleicht könnte auch das zu Problemen führen.
    Ein tied-Hash wird vielleicht nicht als Filehandle verarbeitet... Obwohl ich das für
    unwahrscheinlich halte.

    Use of uninitialized value in numeric gt (>) at index.cgi line 66.

    Datei $loginlog existiert nicht => keine Rückgabe von stat => uninitialized value in
    numeric (>)... könnte ich mir vorstellen.

    Viele Grüsse

    Philipp