Alain: Ich kriegs nicht gebacken...mit flock

Beitrag lesen

hallo struppi,

wieder löscht *nerv*

ist doch klar.

oh mann kann ich dumm sein *Kopfkratz->langsamAngstkrieg*

Du möchtest:
open DATEN, "+<$logfile" || die "cannot open $logfile: $!\n";

jetzt gehts so :)

sub check
{
my $zugriff = 0;
open(DATEN,"+<$logfile") || Dead();
flock(DATEN,LOCK_EX) || die "cannot lock $!\n";
while (<DATEN>){
$zugriff++ if /$etwas geschriebenes/;
     }
     if ($zugriff)
     {
     Dead();
     }
     seek (DATEN, 0, 2);
     print DATEN "$etwas geschriebenes\n";
     close (DATEN) || die "cannot close $!\n";

}
----------------
Ich dachte mir,man könnte z.B. das script direkt sterben lassen indem man z.B.
dies schreibt "dead() if /$etwas geschriebenes/;" anstatt $zugriff++ if...
aber das geht so nicht,ansosten könnte man dann auch auf den if zweig verzichten.

Da du mich ja schon nach der 2 gefragt hast, man sollte auch hier die Konstanten aus fnctl verwenden, da die 2 nicht immer SEEK_SET sein muss.

nach dem seek in form von fnctl habe ich nur http://www.perldoc.com/perl5.8.0/pod/func/seek.html etwas gesehen von
SEEK_END aber kein offizielles beispiel wie die form in seek(TEST,0,1); ?!
Müsste dies dann in etwa so seek(TEST,0,SEEK_END); aussehen?
Grüsse vom
Alain