Scroll to navigation

DateTime::Format::Builder::Parser::Regex(3pm) User Contributed Perl Documentation DateTime::Format::Builder::Parser::Regex(3pm)

NAME

DateTime::Format::Builder::Parser::Regex - Regex based date parsing

VERSION

version 0.82

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'.

SEE ALSO

"datetime@perl.org" mailing list.

http://datetime.perl.org/

perl, DateTime, DateTime::Format::Builder

SUPPORT

Bugs may be submitted at <http://rt.cpan.org/Public/Dist/Display.html?Name=DateTime-Format-Builder> or via email to bug-datetime-format-builder@rt.cpan.org <mailto:bug-datetime-format-builder@rt.cpan.org>.

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

COPYRIGHT AND LICENSE

This software is Copyright (c) 2019 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.

2019-07-22 perl v5.28.1