DateTime::Format::Builder::Parser::generic - Useful routines
version 0.82
Standard constructor. Returns a blessed hash; any arguments are placed in the hash. This is useful for storing information between methods.
This is a method provided solely for the benefit of Parser implementations. It semi-neatly abstracts a lot of the work involved.
Parser
Basically, it takes parameters matching the assorted callbacks from the parser declarations and makes a coderef out of it all.
Currently recognized callbacks are:
on_match
on_fail
preprocess
postprocess
These are methods you should define when writing your own subclass.
Note: these methods do not exist in this class. There is no point trying to call $self->SUPER::do_match( ... ).
$self->SUPER::do_match( ... )
do_match is the first phase. Arguments are the date and @args. self, label, args. Return value must be defined if you match successfully.
do_match
self
label
args
post_match is called after the appropriate callback out of on_match/on_fail is done. It's passed the date, the return value from do_match and the parsing hash.
post_match
Its return value is used as the post argument to the postprocess callback, and as the second argument to make.
post
make
make takes the original input, the return value from post_match and the parsing hash and should return a DateTime object or undefined.
DateTime
For use of Parser, this module also delegates valid_params and params. This is just convenience to save typing the following:
valid_params
params
DateTime::Format::Builder::Parser->valid_params( blah )
Instead we get to type:
$self->valid_params( blah ); __PACKAGE__->valid_params( blah );
Rather than attempt to explain how it all works, I think it's best if you take a look at Regex.pm and Strptime.pm as examples and work from there.
datetime@perl.org mailing list.
datetime@perl.org
http://datetime.perl.org/
perl, DateTime, DateTime::Format::Builder, DateTime::Format::Builder::Parser.
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.
I am also usually active on IRC as 'autarch' on irc://irc.perl.org.
irc://irc.perl.org
The source code repository for DateTime-Format-Builder can be found at https://github.com/houseabsolute/DateTime-Format-Builder.
Dave Rolsky <autarch@urth.org>
Iain Truskett
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.
To install DateTime::Format::Builder, copy and paste the appropriate command in to your terminal.
cpanm
cpanm DateTime::Format::Builder
CPAN shell
perl -MCPAN -e shell install DateTime::Format::Builder
For more information on module installation, please visit the detailed CPAN module installation guide.