Blame examples/Fall.pm

Packit 9002b2
#!/usr/bin/perl -w
Packit 9002b2
use strict;
Packit 9002b2
Packit 9002b2
=pod
Packit 9002b2
Packit 9002b2
This example shows a simple fall through parser that tries
Packit 9002b2
a few of the other formatting modules, _then_ fails.
Packit 9002b2
Packit 9002b2
=cut
Packit 9002b2
Packit 9002b2
package DateTime::Format::Fall;
Packit 9002b2
use DateTime::Format::HTTP;
Packit 9002b2
use DateTime::Format::Mail;
Packit 9002b2
use DateTime::Format::IBeat;
Packit 9002b2
Packit 9002b2
use DateTime::Format::Builder (
Packit 9002b2
    parsers => {
Packit 9002b2
        parse_datetime => [
Packit 9002b2
            sub {
Packit 9002b2
                eval { DateTime::Format::HTTP->parse_datetime( $_[1] ) };
Packit 9002b2
            },
Packit 9002b2
            sub {
Packit 9002b2
                eval { DateTime::Format::Mail->parse_datetime( $_[1] ) };
Packit 9002b2
            },
Packit 9002b2
            sub {
Packit 9002b2
                eval { DateTime::Format::IBeat->parse_datetime( $_[1] ) };
Packit 9002b2
            },
Packit 9002b2
        ]
Packit 9002b2
    }
Packit 9002b2
);
Packit 9002b2
Packit 9002b2
package main;
Packit 9002b2
Packit 9002b2
for ( '@d19.07.03 @704', '20030719T155345', 'gibberish' ) {
Packit 9002b2
    print DateTime::Format::Fall->parse_datetime($_)->datetime, "\n";
Packit 9002b2
}