use strict;
use warnings;

my %wochentage = (
     0 => "Sonntag",    1 => "Montag",     2 => "Dienstag",   
     3 => "Mittwoch",   4 => "Donnerstag", 5 => "Freitag",
     6 => "Samstag" );
my %monate = (
	      0 => "Januar",   1 => "Februar",   2 => "Maerz",
	      3 => "April",    4 => "Mai",       5 => "Juni",
	      6 => "Juli",     7 => "August",    8 => "September",
	      9 => "Oktober", 10 => "November", 11 => "Dezember" );

my $greeting;                  # Begruessung
my @werte = localtime(time);   # Datum Uhrzeit usw.
my $wtag = $werte[6];          # Wochentag
my $tag = $werte[3];           # Tag im Monat
my $mon = $werte[4];           # Monat
my $jahr = 1900 + $werte[5];   # Jahr
my $std = $werte[2];           # Stunde

if    ( $std < 11 ) { $greeting = "Guten Morgen"; }
elsif ( $std < 14 ) { $greeting = "Mahlzeit"; }
elsif ( $std < 18 ) { $greeting = "Moinmoin"; } # geht immer :-)
else                { $greeting = "Guten Abend"; }

# nach dem Namen fragen
print $greeting, ", wie heißen Sie?  ";
my $name = <STDIN>;
chomp $name;

# Und alle Infos ausgeben
print qq~

Hallo $name, wie geht es?
Heute ist $wochentage{$wtag}, der $tag. $monate{$mon} $jahr.
Ihr Perl-Programm $0 wird vom Perl-Interpreter Version $]
unter dem Betriebssystem $^O ausgefuehrt.
~;
