Warum ein regulärer Ausdruck?
ich nutze jede Gelegenheit, Regex zu üben. ;)
Ist aber in diesem Fall mit Kanonen auf Spatzen geschossen.
Damit Warnungen vermieden werden, kannst du hier auch eine Defaultwert angeben:
my($jahr, $monat, $tag) = reverse (1970, 1, 1, (split /\./, $datum));
das genau ist, was ich _nicht_ will.
Was du genau willst, hast du ja nicht gesagt. sondern nur was du trennen willst.
Je nach übergebenen Parametern soll ein Tag, ein gesamter Monat oder ein ganzes Jahr angezeigt werden. Wenn kein Tag übergeben wird, soll der gesamte Monat angezeigt werden. Mit Defaultwerten gibt es keine Unterscheidung mehr zwischen dem 01. März und nur März, es sei denn ich nehme 'x' als Default und frage das nachher wieder ab.
Hat ja keiner gessagt, dass du die Defaultwerte nehmen musst. Im gegenteil, mein Beispiel war ja ohne.
Dann lieber undefinierte Werte nehmen.
Da spricht nichts dagegen. Mein Vorschlag funktioniert ja auch so.
Struppi.