Ich muss aus der CSV Datei (wo das Einstellungsdatum steht der Mitarbeiter) mit dem Aktuellen Datum bzw. immer das Datum der gegenwart vergleichen und das als Ganze Jahre Ausgeben....
zb. Ein Mitarbeiter Arbeitet seit dem 01.04.2001 in der Firma.
Perl soll jetzt das Datum Vergleichen mit dem heutigen Datum und dann mir die Differenz Ausgeben 7 Jahre.
very dirty und ungetestet...
Vorbereitung
Daten umwandeln
29.02.2008 -> 20080229
dd.mm.yyyy -> yyyymmdd
my @prämien = (300,310,320,330);
# der Array lässt sich in einer Schleife erstellen.
# %Personal als Hash enthalte alle Daten.
my $jub = 20080229; #dies sein das fiktive Jubiläumsdatum.
foreach (keys %personal) {
# hier kannst du die dd.mm.yyyy -> yyyymmdd pro Angest. integrieren
# das lässt sich mit einer RE einfach realisieren.
# ...
my $jub2 = $jub;
$Personal{$_}{vergütungsjahre} = 0;
while( $jub2 - 10000 >= $Personal{$_}{angestellt_am} ){
$Personal{$_}{vergütungsjahre}++;
$jub2 -= 10000;
}
# hier kannst du gleich die Prämie ausrechnen.
$Personal{$_}{jub_prämie} = $prämie[ $Personal{$_}{vergütungsjahre} ];
}
Erklärung:
Solange ich das jubiläum um ein jahr vorverschieben kann und dabei
dieses Datum immer noch grösser (od. gleich) als das Anstellungsdatum ist, inkrementiere ich die Vergütungsjahre um 1.
Ich zähle also nur ganze Jahre, ohne aufzurunden.
mfg Beat