Hallo,
ich streite mich gerade mit Perl über den Syntax bei folgendem Problem:
Du solltest nicht mit Perl streiten, bringt nichts. Vertragt euch wieder o.k.
Wenn eine Zahl kleiner 10 ist, dann möchte ich Sie trotzdem mit zwei Stellen abspeichern. (09) Nun ist es zwar nicht unbedingt das Problem eine solche Funktion zu schreiben, aber die gibt es doch auch vorgefertigt, oder?
Die Lösung heißt : sprintf bzw. printf
Diese Funktionen sind mehr oder weniger aus der C-Welt übernommen und sorgen für formatierte Ausgaben. Die können noch viel mehr als nur einstellige Zahlen zweistellig ausgeben und solche Sachen.
Der Unterschied und weitere Erklärungen ist in der Doku (perlfunc) nachzulesen.
hier die Beispiele:
printf("%2.2d",$zahl); # gibt $zahl mindestens 2-stellig auf STDOUT aus
$datumsstring = sprintf("%2.2d.%2.2d.%4.4d",$tag,$monat,$jahr); # formatiert das Datum, so wie Du es haben willst (denk ich)
Sagt mal was ...
Abgesehen davon, daß Du mich sicher nicht hören kannst wenn ich etwas _sage_, finde ich die Befehlsform etwas deplaziert. Das klingt ein bißchen nach 'ABER RASCH!!!!' für mich, falls ich das in die falsche Kehle bekommen habe, möchte ich mich für diesen Absatz entschuldigen.
Grüße
Klaus