← Index
NYTProf Performance Profile   « line view »
For /usr/local/libexec/sympa/task_manager-debug.pl
  Run on Tue Jun 1 22:32:51 2021
Reported on Tue Jun 1 22:35:14 2021

Filename/usr/local/lib/perl5/site_perl/Mail/DKIM/Canonicalization/Base.pm
StatementsExecuted 0 statements in 0s
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
0000s0sMail::DKIM::Canonicalization::Base::::BEGIN@14Mail::DKIM::Canonicalization::Base::BEGIN@14
0000s0sMail::DKIM::Canonicalization::Base::::BEGIN@15Mail::DKIM::Canonicalization::Base::BEGIN@15
0000s0sMail::DKIM::Canonicalization::Base::::BEGIN@2Mail::DKIM::Canonicalization::Base::BEGIN@2
0000s0sMail::DKIM::Canonicalization::Base::::BEGIN@3Mail::DKIM::Canonicalization::Base::BEGIN@3
0000s0sMail::DKIM::Canonicalization::Base::::initMail::DKIM::Canonicalization::Base::init
0000s0sMail::DKIM::Canonicalization::Base::::newMail::DKIM::Canonicalization::Base::new
0000s0sMail::DKIM::Canonicalization::Base::::outputMail::DKIM::Canonicalization::Base::output
0000s0sMail::DKIM::Canonicalization::Base::::resultMail::DKIM::Canonicalization::Base::result
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Mail::DKIM::Canonicalization::Base;
2use strict;
3use warnings;
4our $VERSION = '1.20200907'; # VERSION
5# ABSTRACT: base class for canonicalization methods
6
7# Copyright 2005-2007 Messiah College. All rights reserved.
8# Jason Long <jlong@messiah.edu>
9
10# Copyright (c) 2004 Anthony D. Urso. All rights reserved.
11# This program is free software; you can redistribute it and/or
12# modify it under the same terms as Perl itself.
13
14use base 'Mail::DKIM::MessageParser';
15use Carp;
16
17sub new {
18 my $class = shift;
19 return $class->new_object(@_);
20}
21
22sub init {
23 my $self = shift;
24 $self->SUPER::init;
25
26 unless ( $self->{output}
27 || $self->{output_fh}
28 || $self->{output_digest}
29 || $self->{buffer} )
30 {
31 $self->{result} = '';
32 $self->{buffer} = \$self->{result};
33 }
34}
35
36sub output {
37 my $self = shift;
38
39 # my ($output) = @_; # optimized away for speed
40
41 my $out_fh = $self->{output_fh};
42 if ($out_fh) {
43 print $out_fh @_;
44 }
45 if ( my $digest = $self->{output_digest} ) {
46 $digest->add(@_);
47 }
48 if ( my $out_obj = $self->{output} ) {
49 $out_obj->PRINT(@_);
50 }
51 if ( my $buffer = $self->{buffer} ) {
52 ${ $self->{buffer} } .= $_[0];
53 }
54
55 # this supports Debug_Canonicalization
56 if ( my $debug = $self->{Debug_Canonicalization} ) {
57 if ( UNIVERSAL::isa( $debug, 'SCALAR' ) ) {
58 $$debug .= $_[0];
59 }
60 elsif ( UNIVERSAL::isa( $debug, 'GLOB' ) ) {
61 print $debug @_;
62 }
63 elsif ( UNIVERSAL::isa( $debug, 'IO::Handle' ) ) {
64 $debug->print(@_);
65 }
66 }
67}
68
69sub result {
70 my $self = shift;
71 return $self->{result};
72}
73
741;
75
76__END__