File | /home/tamil/util/marc-moose/lib/MARC/Moose/Field/Std.pm |
Statements Executed | 17 |
Total Time | 0.0005072 seconds |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
0 | 0 | 0 | 0s | 0s | BEGIN | MARC::Moose::Field::Std::
0 | 0 | 0 | 0s | 0s | __ANON__[:16] | MARC::Moose::Field::Std::
0 | 0 | 0 | 0s | 0s | __ANON__[:25] | MARC::Moose::Field::Std::
0 | 0 | 0 | 0s | 0s | subfield | MARC::Moose::Field::Std::
Line | Stmts. | Exclusive Time | Avg. | Code |
---|---|---|---|---|
1 | package MARC::Moose::Field::Std; | |||
2 | # ABSTRACT: Standard Marc Field (tag >= 010) | |||
3 | ||||
4 | 3 | 29µs | 10µs | use namespace::autoclean; # spent 67µs making 1 call to namespace::autoclean::import |
5 | 3 | 67µs | 22µs | use Moose; # spent 5.84ms making 1 call to Moose::Exporter::__ANON__[/usr/local/lib/perl/5.10.0/Moose/Exporter.pm:425] |
6 | ||||
7 | 1 | 9µs | 9µs | extends 'MARC::Moose::Field'; # spent 1.39ms making 1 call to Moose::extends |
8 | ||||
9 | use overload | |||
10 | 3 | 294µs | 98µs | '%{}' => \&subfield; # spent 53µs making 1 call to overload::import |
11 | ||||
12 | ||||
13 | 1 | 6µs | 6µs | has ind1 => (is => 'rw', isa => 'Str', default => ' '); # spent 2.69ms making 1 call to Moose::has |
14 | 1 | 6µs | 6µs | has ind2 => (is => 'rw', isa => 'Str', default => ' '); # spent 2.39ms making 1 call to Moose::has |
15 | ||||
16 | 1 | 10µs | 10µs | has subf => ( is => 'rw', isa => 'ArrayRef', default => sub { [] } ); # spent 2.34ms making 1 call to Moose::has |
17 | ||||
18 | ||||
19 | override 'as_formatted' => sub { | |||
20 | my $self = shift; | |||
21 | ||||
22 | join ' ', ( | |||
23 | $self->tag, | |||
24 | map { ("\$$_->[0]", $_->[1]) } @{$self->subf} ); | |||
25 | 1 | 12µs | 12µs | }; # spent 659µs making 1 call to Moose::override |
26 | ||||
27 | ||||
28 | sub subfield { | |||
29 | my ($self, $letter) = @_; | |||
30 | ||||
31 | my @values; | |||
32 | for ( @{$self->subf} ) { | |||
33 | push @values, $_->[1] if $_->[0] eq $letter; | |||
34 | } | |||
35 | ||||
36 | return wantarray ? @values : $values[0]; | |||
37 | } | |||
38 | ||||
39 | 1 | 14µs | 14µs | __PACKAGE__->meta->make_immutable; # spent 6.67ms making 1 call to Class::MOP::Class::make_immutable
# spent 20µs making 1 call to MARC::Moose::Field::Std::meta |
40 | ||||
41 | 1 | 42µs | 42µs | 1; |
42 | 1 | 19µs | 19µs |