use Mosche;
Eine der von Dir verwendeten Variablen ist bei der Ausgabe leer.
das hat mich jetzt auf die entscheidende Idee gebracht. Es sind 2 Variablen "im Anfangstadium" tatsächlich leer, und zwar :
my $lastmessby = $1 if $headdata =~ /<lastmessby>(.+?)</lastmessby>/;
my $lastdate = $1 if $headdata =~ /<lastdate>(.+?)</lastdate>/;
Du solltest bei sowas immer ein if-else machen, das ganze geht ja schön kurz mit dem ?: Operator:
my $lastdate = ($headdata =~ /<lastdate>(.+?)</lastdate>/)
? $1 : '';
Die Klammer kannst du weglassen, finde ich hier allerdings "schöner".
use Tschoe qw(Matti);