← Index
NYTProf Performance Profile   « block view • line view • sub view »
For xt/tapper-mcp-scheduler-with-db-longrun.t
  Run on Tue May 22 17:18:39 2012
Reported on Tue May 22 17:24:10 2012

Filename/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/DateTime/Format/Builder/Parser/Strptime.pm
StatementsExecuted 16 statements in 1.82ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11112µs15µsDateTime::Format::Builder::Parser::Strptime::::BEGIN@27DateTime::Format::Builder::Parser::Strptime::BEGIN@27
1118µs41µsDateTime::Format::Builder::Parser::Strptime::::BEGIN@28DateTime::Format::Builder::Parser::Strptime::BEGIN@28
1116µs40µsDateTime::Format::Builder::Parser::Strptime::::BEGIN@29DateTime::Format::Builder::Parser::Strptime::BEGIN@29
1114µs4µsDateTime::Format::Builder::Parser::Strptime::::BEGIN@32DateTime::Format::Builder::Parser::Strptime::BEGIN@32
0000s0sDateTime::Format::Builder::Parser::Strptime::::create_parserDateTime::Format::Builder::Parser::Strptime::create_parser
0000s0sDateTime::Format::Builder::Parser::Strptime::::do_matchDateTime::Format::Builder::Parser::Strptime::do_match
0000s0sDateTime::Format::Builder::Parser::Strptime::::post_matchDateTime::Format::Builder::Parser::Strptime::post_match
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package DateTime::Format::Builder::Parser::Strptime;
2
3=head1 NAME
4
5DateTime::Format::Builder::Parser::Strptime - strptime based date parsing
6
7=head1 SYNOPSIS
8
9 my $parser = DateTime::Format::Builder->create_parser(
10 strptime => '%e/%b/%Y:%H:%M:%S %z',
11 );
12
13=head1 SPECIFICATION
14
15=over 4
16
17=item *
18
19B<strptime> takes as its argument a strptime string.
20See L<DateTime::Format::Strptime> for more information
21on valid patterns.
22
23=back
24
25=cut
26
27320µs217µs
# spent 15µs (12+2) within DateTime::Format::Builder::Parser::Strptime::BEGIN@27 which was called: # once (12µs+2µs) by DateTime::Format::Builder::Parser::BEGIN@1.41 at line 27
use strict;
# spent 15µs making 1 call to DateTime::Format::Builder::Parser::Strptime::BEGIN@27 # spent 2µs making 1 call to strict::import
28321µs274µs
# spent 41µs (8+33) within DateTime::Format::Builder::Parser::Strptime::BEGIN@28 which was called: # once (8µs+33µs) by DateTime::Format::Builder::Parser::BEGIN@1.41 at line 28
use vars qw( $VERSION @ISA );
# spent 41µs making 1 call to DateTime::Format::Builder::Parser::Strptime::BEGIN@28 # spent 33µs making 1 call to vars::import
29326µs273µs
# spent 40µs (6+33) within DateTime::Format::Builder::Parser::Strptime::BEGIN@29 which was called: # once (6µs+33µs) by DateTime::Format::Builder::Parser::BEGIN@1.41 at line 29
use Params::Validate qw( validate SCALAR HASHREF );
# spent 40µs making 1 call to DateTime::Format::Builder::Parser::Strptime::BEGIN@29 # spent 33µs making 1 call to Exporter::import
30
3112µs$VERSION = '0.77';
3231.70ms14µs
# spent 4µs within DateTime::Format::Builder::Parser::Strptime::BEGIN@32 which was called: # once (4µs+0s) by DateTime::Format::Builder::Parser::BEGIN@1.41 at line 32
use DateTime::Format::Builder::Parser::generic;
33123µs@ISA = qw( DateTime::Format::Builder::Parser::generic );
34
35115µs137µs__PACKAGE__->valid_params(
36 strptime => {
37 type => SCALAR|HASHREF, # straight pattern or options to DTF::Strptime
38 },
39);
40
41sub create_parser
42{
43 my ($self, %args) = @_;
44
45 # Arguments to DTF::Strptime
46 my $pattern = $args{strptime};
47
48 # Create our strptime parser
49 require DateTime::Format::Strptime;
50 my $strptime = DateTime::Format::Strptime->new(
51 ( ref $pattern ? %$pattern : ( pattern => $pattern ) ),
52 );
53 unless (ref $self)
54 {
55 $self = $self->new( %args );
56 }
57 $self->{strptime} = $strptime;
58
59 # Create our parser
60 return $self->generic_parser(
61 ( map { exists $args{$_} ? ( $_ => $args{$_} ) : () } qw(
62 on_match on_fail preprocess postprocess
63 ) ),
64 label => $args{label},
65 );
66}
67
68sub do_match
69{
70 my $self = shift;
71 my $date = shift;
72 local $^W; # bizarre bug
73 # Do the match!
74 my $dt = eval { $self->{strptime}->parse_datetime( $date ) };
75 return $@ ? undef : $dt;
76}
77
78sub post_match
79{
80 return $_[2];
81}
82
8317µs1;
84
85__END__