.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "DateTime::Format::Builder::Parser::Regex 3pm" .TH DateTime::Format::Builder::Parser::Regex 3pm "2010-03-14" "perl v5.10.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" DateTime::Format::Builder::Parser::Regex \- Regex based date parsing .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 4 \& my $parser = DateTime::Format::Builder\->create_parser( \& regex => qr/^(\ed\ed\ed\ed)(\ed\ed)(\ed\ed)T(\ed\ed)(\ed\ed)(\ed\ed)$/, \& params => [ qw( year month day hour minute second ) ], \& ); .Ve .SH "SPECIFICATION" .IX Header "SPECIFICATION" In addition to the common keys, \&\f(CW\*(C`Regex\*(C'\fR supports: .IP "\(bu" 4 \&\fBregex\fR 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. .IP "\(bu" 4 \&\fBparams\fR is an arrayref of key names. The captures from the regex are mapped to these (\f(CW$1\fR to the first element, \f(CW$2\fR to the second, and so on) and handed to \&\f(CW\*(C`DateTime\->new()\*(C'\fR. This is a required element. .IP "\(bu" 4 \&\fBextra\fR is a hashref of extra arguments you wish to give to \&\f(CW\*(C`DateTime\->new()\*(C'\fR. For example, you could set the \&\f(CW\*(C`year\*(C'\fR or \f(CW\*(C`time_zone\*(C'\fR to defaults: .Sp .Vb 1 \& extra => { year => 2004, time_zone => "Australia/Sydney" }, .Ve .IP "\(bu" 4 \&\fBconstructor\fR 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 \f(CW$p\fR and anything given in the \f(CW\*(C`extra\*(C'\fR option above. .Sp If only a coderef is supplied, then it is called with arguments of \&\f(CW$self\fR, \f(CW$p\fR and \f(CW\*(C`extra\*(C'\fR. .Sp In short: .Sp .Vb 1 \& $self\->$coderef( %$p, %{ $self\->{extra} } ); .Ve .Sp 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'. .SH "THANKS" .IX Header "THANKS" See the main module's section. .SH "SUPPORT" .IX Header "SUPPORT" Support for this module is provided via the datetime@perl.org email list. See http://lists.perl.org/ for more details. .PP Alternatively, log them via the \s-1CPAN\s0 \s-1RT\s0 system via the web or email: .PP .Vb 2 \& http://perl.dellah.org/rt/dtbuilder \& bug\-datetime\-format\-builder@rt.cpan.org .Ve .PP This makes it much easier for me to track things and thus means your problem is less likely to be neglected. .SH "LICENCE AND COPYRIGHT" .IX Header "LICENCE AND COPYRIGHT" Copyright X Iain Truskett, 2003. All rights reserved. .PP 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. .PP The full text of the licences can be found in the \fIArtistic\fR and \&\fI\s-1COPYING\s0\fR files included with this module, or in perlartistic and perlgpl as supplied with Perl 5.8.1 and later. .SH "AUTHOR" .IX Header "AUTHOR" Iain Truskett .SH "SEE ALSO" .IX Header "SEE ALSO" \&\f(CW\*(C`datetime@perl.org\*(C'\fR mailing list. .PP http://datetime.perl.org/ .PP perl, DateTime, DateTime::Format::Builder