Struppi: db_file is nicht mit -f flock()!

Beitrag lesen

hallo,
Ich beiss mir regelrecht die zähne aus an dem einen satz seit tagen :(
Der apache meckert immer wieder wenn ich

Der Server meckert über ein Perlskript? Wohl kaum, es ist immer noch Perl das Warnungen und Fehler erzeugt.

$loginlog   =    'log/login';
$doflock   = 1;

if (dbmopen(%logins,$loginlog,0666))
{
    -f flock(logins,2) if ($doflock) or die "$!";

oder

if (dbmopen(%logins,$loginlog,0666))
{
    flock(%logins,2) if ($doflock) or die "$!";

Du kannst kein Flock auf einen HASH machen, dazu brauchst du einen Dateihandle auf eine geöffnete Datei.

Und zwar musst du dazu (zumindest mit DB_File), die verwendete Datei flocken.

open F, "+<$loginlog" || die "$!";
flock F, LOCK_EX;

....

Struppi.