Thread Problem beim Mitloggen! (21 answers)
Opened by skontox at 2003-08-21 11:36

Strat
 2003-08-21 14:16
#691 #691
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Nebenbei: wenn du noch ein $! zur Fehlermeldung hinzufuegst, bekommst du noch den Grund fuer das Fehlschlagen der Operation. Und wenn du zusaetzlich die Konstanten von Fcntl verwendest, hast du das ganze sogar plattformunabhaengig (ok, win9x/ME hat noch kein flock):
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use Fcntl qw(:flock);

my &#36filename = "dateiname";
unless (open (FILE, ">> &#36filename")) {
    die ("Kann die datei '&#36filename' nicht öffnen: &#36!\n");
}
else {
    if( flock(FH, LOCK_EX) ){
      print FILE &#36daten."\n";
      close (FILE) or 
        die ("Kann die Datei '&#36filename' nicht schließen: Festplatte voll?: &#36!\n");    
    } # if
    else {
        die "Fehler in flock '&#36filename': &#36!\n";
    }
} # else

Nebenbei: den flock am besten implizit durch das close (FILE); aufheben lassen, weil sonst doch ganz schoen was daneben gehen kann...

<edit>:DEFAULT braucht man fuer dieses beispiel bei Fcntl nicht</edit>\n\n

<!--EDIT|esskar|1061500525-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/

View full thread Problem beim Mitloggen!