NAME
DateTime::Format::Builder::Parser::Regex - Regex based date parsing
VERSION
version 0.83
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
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
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 toDateTime->new
. This is a required element.extra
extra is a hashref of extra arguments you wish to give to
DateTime->new
. For example, you could set theyear
ortime_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 theextra
option above.If only a coderef is supplied, then it is called with arguments of
$self
,$p
andextra
.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'.
SEE ALSO
datetime@perl.org
mailing list.
http://datetime.perl.org/
perl, DateTime, DateTime::Format::Builder
SUPPORT
Bugs may be submitted at https://github.com/houseabsolute/DateTime-Format-Builder/issues.
I am also usually active on IRC as 'autarch' on irc://irc.perl.org
.
SOURCE
The source code repository for DateTime-Format-Builder can be found at https://github.com/houseabsolute/DateTime-Format-Builder.
AUTHORS
Dave Rolsky <autarch@urth.org>
Iain Truskett <spoon@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2020 by Dave Rolsky.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
The full text of the license can be found in the LICENSE file included with this distribution.