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