Thread Funktion sub write_log universal gestalten (8 answers)
Opened by Duff at 2008-08-01 18:11

Duff
 2008-08-01 18:11
#113001 #113001
User since
2006-10-06
283 Artikel
BenutzerIn

user image
Hallo,

und schon wieder eine neue Frage ;-)

Ich möchte mit einer Funktion sub write_log { ... } für verschiedene andere Funktionen gerne bestimmte Werte in ein Logfile schreiben.

Bisher sieht meine Funktion so aus:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
sub write_log {
   my $id=shift;
   my $value=shift;
   print "$value\n";
   die "Der Identifier ist außerhalb des Gültigkeitsbereichs\n" if($id != 1 and $id != 2 and $id != 3);

   open(LOG, '>>', $LOGFILE) or die "$LOGFILE: open(rw) failed: $!\n";
   print LOG "-"x60,"\n"   if($id == 1);
   print LOG "$value\n"    if($id == 1) ;
   printf LOG $value       if($id == 2);
   printf LOG "$value\n"   if($id == 3);
   close(LOG);

} # End write_log


Anhand eines Identifiers soll unterschieden werden, wie der Logeintrag aussehen soll.

1 => Überschrift für ein Thema (Quota's)
2 => Überschrift für ein Unterthema (Benutzername, Prozentzahl)
3 => Logging der eigentlichen Werte

Nur wie kann ich jetzt der Funktion z.B. einen String so übergeben, dass dort dann sinngemäß sowas stehen würde:
Code (perl): (dl )
printf LOG ("%-16s : %-120s\n", "Benutzername", "Genutze Quota's in %") if($id == 2);
D'OH
Daniel

View full thread Funktion sub write_log universal gestalten