#!/usr/bin/perl use strict; use warnings; package DateTime::Format::MyParser; use DateTime::Format::Builder ( parsers => { parse_datetime => { regex => qr/^(\d?\d)\s(\d\d)\s(\d\d\d\d) (\d\d):(\d\d):(\d\d)$/, params => [ qw( day month year hour minute second ) ], }, }, ); package main; my $date = "Thu, 7 Aug 2008 08:35:36 +01:00"; $date =~ s/Thu, //; $date =~ s/\s+\+01:00$//; $date =~ s/Aug/08/; my $parser = DateTime::Format::MyParser->new(); my $dt = $parser->parse_datetime($date); print $dt;