← Index
NYTProf Performance Profile   « block view • line view • sub view »
For /usr/share/koha/opac/cgi-bin/opac/opac-search.pl
  Run on Tue Oct 15 11:58:52 2013
Reported on Tue Oct 15 12:01:06 2013

Filename/usr/share/perl5/DateTime/Format/Builder/Parser/Strptime.pm
StatementsExecuted 16 statements in 363µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11119µs24µsDateTime::Format::Builder::Parser::Strptime::::BEGIN@27DateTime::Format::Builder::Parser::Strptime::BEGIN@27
11112µs64µsDateTime::Format::Builder::Parser::Strptime::::BEGIN@29DateTime::Format::Builder::Parser::Strptime::BEGIN@29
11110µs50µsDateTime::Format::Builder::Parser::Strptime::::BEGIN@28DateTime::Format::Builder::Parser::Strptime::BEGIN@28
1117µs7µ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
- -
27333µs228µs
# spent 24µs (19+4) within DateTime::Format::Builder::Parser::Strptime::BEGIN@27 which was called: # once (19µs+4µs) by DateTime::Format::Builder::Parser::BEGIN@1.5 at line 27
use strict;
# spent 24µs making 1 call to DateTime::Format::Builder::Parser::Strptime::BEGIN@27 # spent 4µs making 1 call to strict::import
28334µs291µs
# spent 50µs (10+40) within DateTime::Format::Builder::Parser::Strptime::BEGIN@28 which was called: # once (10µs+40µs) by DateTime::Format::Builder::Parser::BEGIN@1.5 at line 28
use vars qw( $VERSION @ISA );
# spent 50µs making 1 call to DateTime::Format::Builder::Parser::Strptime::BEGIN@28 # spent 40µs making 1 call to vars::import
29341µs2117µs
# spent 64µs (12+52) within DateTime::Format::Builder::Parser::Strptime::BEGIN@29 which was called: # once (12µs+52µs) by DateTime::Format::Builder::Parser::BEGIN@1.5 at line 29
use Params::Validate qw( validate SCALAR HASHREF );
# spent 64µs making 1 call to DateTime::Format::Builder::Parser::Strptime::BEGIN@29 # spent 52µs making 1 call to Exporter::import
30
311800ns$VERSION = '0.77';
323232µs17µs
# spent 7µs within DateTime::Format::Builder::Parser::Strptime::BEGIN@32 which was called: # once (7µs+0s) by DateTime::Format::Builder::Parser::BEGIN@1.5 at line 32
use DateTime::Format::Builder::Parser::generic;
33110µs@ISA = qw( DateTime::Format::Builder::Parser::generic );
34
3518µs118µ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
8315µs1;
84
85__END__