NAME¶
DateTime::Format::Builder::Parser::Regex - Regex based date parsing
VERSION¶
version 0.81
SYNOPSIS¶
my $parser = DateTime::Format::Builder->create_parser(
regex => qr/^(\d\d\d\d)(\d\d)(\d\d)T(\d\d)(\d\d)(\d\d)$/,
params => [ qw( year month day hour minute second ) ],
);
SPECIFICATION¶
In addition to the common keys, "Regex" supports:
- •
- regex is a regular expression that should capture elements of the
datetime string. This is a required element. This is the key whose
presence indicates it's a specification that belongs to this class.
- •
- params is an arrayref of key names. The captures from the regex are
mapped to these ($1 to the first element, $2 to the second, and so on) and
handed to "DateTime->new()". This is a required element.
- •
- extra is a hashref of extra arguments you wish to give to
"DateTime->new()". For example, you could set the
"year" or "time_zone" to defaults:
extra => { year => 2004, time_zone => "Australia/Sydney" },
- •
- constructor is either an arrayref or a coderef. If an arrayref then
the first element is a class name or object, and the second element is a
method name (or coderef since Perl allows that sort of thing). The
arguments to the call are anything in $p and anything given in the
"extra" option above.
If only a coderef is supplied, then it is called with arguments of $self, $p
and "extra".
In short:
$self->$coderef( %$p, %{ $self->{extra} } );
The method is expected to return a valid DateTime object, or undef in event
of failure, but can conceivably return anything it likes. So long as it's
'true'.
SUPPORT¶
See DateTime::Format::Builder for details.
SEE ALSO¶
"datetime@perl.org" mailing list.
http://datetime.perl.org/
perl, DateTime, DateTime::Format::Builder
AUTHORS¶
- •
- Dave Rolsky <autarch@urth.org>
- •
- Iain Truskett
COPYRIGHT AND LICENSE¶
This software is Copyright (c) 2013 by Dave Rolsky.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)