Thread Anfängerfrage Unterstrich (18 answers)
Opened by lern_noch at 2023-01-31 11:42

GwenDragon
 2023-02-07 13:13
#194663 #194663
User since
2005-01-17
14787 Artikel
Admin1
[Homepage]
user image
Ein ; am Ende eine Befehlszeile zu setzen, ist sinnvoll, weil beim Anfügen von Code manchmal vergisst, dass in der Zeile davor eben das ; fehlte und nun das Programm seltsame Warnungen auswirft. Natürlich darf man beim letzten Befehl vor der } das ; auch weglassen.
Blöcke, also das in { }, werden nur unter ganz bestimmten Umständen mit ; nach dem } abgeschlossen, nämlich wenn der Inhalt eines Blocks einer Variablen zugewiesen wird.

Das if (...) steht da um zu prüfen ob das $prueflog ein gültiges Dateihandle vom vorherigen Öffnet der Logdatei ist.
Was du willst ist das hier:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
if ($prueflog) { 
  my @loc_time = localtime(time);
  print $prueflog "Startzeit: ",       # Ausgabe an das Dateihandle $prueflog 
                  ">",                 # und hier folgen weitere auszugebende Zeicenketten
                  $loc_time[3],
                  $loc_time[4] + 1,
                  $loc_time[5] + 1900,
                  $loc_time[2],
                  $loc_time[1], 
                  $loc_time[0], 
                  "<\n"; 
}


Schöneres Datum mit printf https://perldoc.perl.org/functions/printf ausgeben.

printf $prüflog gibt nicht $prueflog aus, sondern an das Dateihandle $prueflog die nachfolgenden Zeichenketten formatiert wie im Format angegeben.
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
  
   printf $prueflog # $prueflog ist das Dateihandle 
        # Format der Ausgabe 
        "%s%02d.%02d.%4d %02d:%02d:%02d%s", 
        # Hier die Zeichenketten so wie sie laut Format nacheinander ausgegeben werden sollen
        "Startzeit: >",                 
        $loc_time[3],
        $loc_time[4] + 1,
        $loc_time[5] + 1900,
        $loc_time[2],
        $loc_time[1], 
        $loc_time[0], 
        "<\n"; 


Information zu der Formatierung bei printf unter https://metacpan.org/pod/perlfunc#sprintf

Bitte fragen wenn was unverständlich.

Editiert von GwenDragon: schöner formatiert, kurze Kommentare
Last edited: 2023-02-07 13:45:52 +0100 (CET)

View full thread Anfängerfrage Unterstrich