|
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 |
}
|