#!/usr/bin/perl use 5.008; use strict; use warnings; use DateTime; use IO::All; my $file = 'test.log'; my $temp < io($file); sub conv_dt { my ($Day,$Month,$Year,$Hour,$Minute) = @_; my $dt = DateTime->new( year => $Year, month => $Month, day => $Day, hour => $Hour, minute => $Minute, second => 0, time_zone => 'Europe/Berlin', ); $dt->set_time_zone('UTC'); return $dt->strftime('%d.%m.%Y %H:%M'); } $temp =~ s/^(\d\d)\.(\d\d)\.(\d\d\d\d)\s(\d\d):(\d\d)/conv_dt($1,$2,$3,$4,$5)/egm if $temp =~ /^(\d\d)\.(\d\d)\.(\d\d\d\d)\s(\d\d):(\d\d)/; $temp > io("$file-out.log");