1#!/usr/bin/perl -w
2use strict;
3
4=pod
5
6This example shows a simple fall through parser that tries
7a few of the other formatting modules, _then_ fails.
8
9=cut
10
11package DateTime::Format::Fall;
12use DateTime::Format::HTTP;
13use DateTime::Format::Mail;
14use DateTime::Format::IBeat;
15
16use DateTime::Format::Builder (
17    parsers => {
18        parse_datetime => [
19            sub {
20                eval { DateTime::Format::HTTP->parse_datetime( $_[1] ) };
21            },
22            sub {
23                eval { DateTime::Format::Mail->parse_datetime( $_[1] ) };
24            },
25            sub {
26                eval { DateTime::Format::IBeat->parse_datetime( $_[1] ) };
27            },
28        ]
29    }
30);
31
32package main;
33
34for ( '@d19.07.03 @704', '20030719T155345', 'gibberish' ) {
35    print DateTime::Format::Fall->parse_datetime($_)->datetime, "\n";
36}
37