| DateTime::Format::Builder::Parser::generic - Useful routines |
DateTime::Format::Builder::Parser::generic - Useful routines
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.
Basically, it takes parameters matching the assorted callbacks from the parser declarations and makes a coderef out of it all.
Currently recognized callbacks are:
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( ... ).
do_match is the first phase. Arguments are the date and @args.
self, label, args. Return value must be defined if you match
successfully.
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.
Its return value is used as the post argument to the postprocess
callback, and as the second argument to make.
make takes the original input, the return value from post_match
and the parsing hash and should return a DateTime object or
undefined.
For use of Parser, this module also delegates valid_params and
params. This is just convenience to save typing the following:
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.
See the DateTime::Format::Builder manpage.
Support for this module is provided via the datetime@perl.org email list. See http://lists.perl.org/ for more details.
Alternatively, log them via the CPAN RT system via the web or email:
http://perl.dellah.org/rt/dtbuilder
bug-datetime-format-builder@rt.cpan.org
This makes it much easier for me to track things and thus means your problem is less likely to be neglected.
Copyright © Iain Truskett, 2003. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.000 or, at your option, any later version of Perl 5 you may have available.
The full text of the licences can be found in the Artistic and COPYING files included with this module, or in the perlartistic manpage and the perlgpl manpage as supplied with Perl 5.8.1 and later.
Iain Truskett <spoon@cpan.org>
datetime@perl.org mailing list.
the perl manpage, DateTime, the DateTime::Format::Builder manpage, the DateTime::Format::Builder::Parser manpage.
| DateTime::Format::Builder::Parser::generic - Useful routines |