#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);
$datum = "16:22:45 05/13/2002";
@datum = split(/ /, "$datum");
$datumsplit = "$datum[1]";
@datumsplit = split("\/", "$datum[1]");
@gedreht = ("$datumsplit[1]","$datumsplit[0]","$datumsplit[2]");
$umgewandelt = join('. ',@gedreht);
print "Content-type: text/html\n\n";
print "Altesdatum: $datum";
print "Umgewandelt: $umgewandelt";
Was macht nun dieses Script?
Nun zunächst ist hier der String mit der Zeit und Datumsangabe $datum = "16:22:45 05/13/2002";
Diese gilt es nun als erstes in seine Bestandteile zu zerlegen. Das Problem ist hier das man dies splitten in verschiedene Arbeitsschritte teilen muss.
Denn der String 16:22:45 05/13/2002 ist aus verschiedenen Zeichen und Zeichenkombinationen zusammengesetzt.
Die erste Stufe @datum = split(/ /, "$datum"); trennt den String bei dem Leerzeichen was Zeit und Datum trennt.
Mit $datumsplit = "$datum[1]"; können wir nun auf das Element 1 des Arrays @datum zugreifen.
$datum[1]deshalb weil Perl ja bei 0 anfängt zu zählen, $datum[0] wäre hier demzufolge die Zeit 16:22:45.
Nun geht das selbe Spiel mit dem splitten weiter, diesmal wird aber der nun einzelngestellte String 05/13/2002 gesplittet.
Da dieser als Trennung der Zeichen einen Slash besitzt wird dieser in dem Code @datumsplit = split("\/", "$datum[1]"); angegeben als Trennzeichen.
Dies bewirkt nun das die Daten 05/13/2002 so einzeln vorliegen 05 13 2002.
Diese Daten werden nun dem Array @gedreht zugeordnet @gedreht = ("$datumsplit[1]","$datumsplit[0]","$datumsplit[2]");
und zwar in der Reihenfolge wie die Ausgabe später erscheinen soll.
Nun folgt der letzte Schritt der Aktion, das zusammenfassen zu einem neuen String mit der join Funktion.
Dies geschieht durch die Zeile $umgewandelt = join('. ',@gedreht);.
Wie funktioniert das?
$umgewandelt ist die neue Stringvariable.
'. ' ist die Definition wie die einzelnen Arrayteile verbunden werden sollen.
@gedreht Das Array welches verbunden werden soll.
Hier nun wird das ganze mal zum Vergleich ausgegeben.
print "Content-type: text/html\n\n";
print "Altesdatum: $datum";
print "Umgewandelt: $umgewandelt";
|