Mail-Message
view release on metacpan or search on metacpan
lib/Mail/Message/Head.pm view on Meta::CPAN
# This code is part of Perl distribution Mail-Message version 4.05.
# The POD got stripped from this file by OODoc version 3.06.
# For contributors see file ChangeLog.
# This software is copyright (c) 2001-2026 by Mark Overmeer.
# This is free software; you can redistribute it and/or modify it under
# the same terms as the Perl 5 programming language system itself.
# SPDX-License-Identifier: Artistic-1.0-Perl OR GPL-1.0-or-later
package Mail::Message::Head;{
our $VERSION = '4.05';
}
use parent 'Mail::Reporter';
use strict;
use warnings;
use Log::Report 'mail-message', import => [ qw/mistake/ ];
use Mail::Message::Head::Complete;
use Mail::Message::Field::Fast;
use Scalar::Util qw/weaken/;
#--------------------
use overload
qq("") => 'string_unless_carp',
bool => 'isEmpty';
# To satisfy overload in static resolving.
sub toString() { $_[0]->load->toString }
sub string() { $_[0]->load->string }
sub string_unless_carp()
{ my $self = shift;
(caller)[0] eq 'Carp' or return $self->toString;
my $class = ref $self =~ s/^Mail::Message/MM/r;
"$class object";
}
#--------------------
sub new(@)
{ my $class = shift;
$class eq __PACKAGE__ ? Mail::Message::Head::Complete->new(@_) : $class->SUPER::new(@_);
}
sub init($)
{ my ($self, $args) = @_;
$self->SUPER::init($args);
$self->message($args->{message}) if defined $args->{message};
$self->{MMH_field_type} = $args->{field_type} if $args->{field_type};
$self->{MMH_fields} = {};
$self->{MMH_order} = [];
$self->{MMH_modified} = $args->{modified} || 0;
$self;
}
sub build(@)
{ shift;
Mail::Message::Head::Complete->build(@_);
}
#--------------------
sub isDelayed { 1 }
sub modified(;$)
{ my $self = shift;
return $self->isModified unless @_;
$self->{MMH_modified} = shift;
}
sub isModified() { $_[0]->{MMH_modified} }
sub isEmpty { scalar keys %{ $_[0]->{MMH_fields}} }
sub message(;$)
{ my $self = shift;
if(@_)
{ $self->{MMH_message} = shift;
weaken($self->{MMH_message});
}
$self->{MMH_message};
}
sub orderedFields() { grep defined, @{ $_[0]->{MMH_order}} }
( run in 0.324 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )