NAME¶
DateTime::Format::Builder::Parser::Dispatch - Dispatch parsers by group
SYNOPSIS¶
package SampleDispatch;
use DateTime::Format::Builder
(
parsers => {
parse_datetime => [
{
Dispatch => sub {
return 'fnerk';
}
}
]
},
groups => {
fnerk => [
{
regex => qr/^(\d{4})(\d\d)(\d\d)$/,
params => [qw( year month day )],
},
]
}
);
DESCRIPTION¶
"Dispatch" adds another parser type to "Builder" permitting
dispatch of parsing according to group names.
SPECIFICATION¶
"Dispatch" has just one key: "Dispatch". The value should be
a reference to a subroutine that returns one of:
- •
- "undef", meaning no groups could be found.
- •
- An empty list, meaning no groups could be found.
- •
- A single string, meaning: use this group
- •
- A list of strings, meaning: use these groups in this
order.
Groups are specified much like the example in the SYNOPSIS. They follow the same
format as when you specify them for methods.
SIDEEFFECTS¶
Your group parser can also be a Dispatch parser. Thus you could potentially end
up with an infinitely recursive parser.
THANKS¶
See the main module's section.
SUPPORT¶
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.
LICENCE AND COPYRIGHT¶
Copyright X 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 perlartistic and perlgpl
as supplied with Perl 5.8.1 and later.
AUTHOR¶
Iain Truskett <spoon@cpan.org>
SEE ALSO¶
"datetime@perl.org" mailing list.
http://datetime.perl.org/
perl, DateTime, DateTime::Format::Builder