use DateTime::Format::x509;
my $f = DateTime::Format::x509->new();
my $dt = $f->parse_datetime('Mar 11 03:05:34 2013 UTC');
####
my $dtparser = DateTime::Format::x509->new();
####
$line =~ /^\<\d+\>\w+\s+\d+:\d+:\d+\s+\w+:TIMESTAMP\=\w+\s+(\w+\s+\d+\s+\d+:\d+:\d+\s+\d+).*MSGCLS.*$/m;
$datestr = $1; # I use your regex but with day-name removed from bracket, e.g. Oct 5 04:08:28 2018
my $dtobj = $dtparser->parse_datetime($datestr);
my $epoch = $dtobj->epoch();
push @lines, [$line, $epoch]; # Line AND epoch saved into the array, maybe dtobj too for completeness
####
@sortedlines = sort { $a->[1] <=> $b->[1] } @lines;