Hinweis:
my $dtutc = strftime "%Y%m%d%H%M", localtime(time+$offset);
Vorausgesetzt, Du bist in Deutschland zu Hause, dann stimmt die Berechnung nicht. Den offset von 3600 musst Du nicht addieren, sondern abiziehen, um auf utc zu kommen. Und jetzt ist Sommerzeit, da ist der Offset sogar -7200
Vorschlag:
my $dtutc = strftime "%Y%m%d%H%M", gmtime;