Courriel::HeaderAttribute(3) A single attribute belonging to a header

VERSION

version 0.41

SYNOPSIS


my $ct = $headers->get('Content-Type');
print $ct->get_attribute('charset')->value;

DESCRIPTION

This class represents a single attribute belonging to a header. An attribute consists of a name and value, with optional charset and language information.

API

This class supports the following methods:

Courriel::HeaderAttribute->new( ... )

This method creates a new object. It accepts the following parameters:
  • name

    The name of the attribute. This should be a non-empty string.

  • value

    The value of the attribute. This can be empty.

  • charset

    The charset for the value. If the value contains any non-ASCII data, this will always be ``UTF-8'', otherwise the default is ``us-ascii''.

  • language

    The language for the attribute's value. It should be a valid ISO language code like ``en-us'' or ``zh''. This is optional.

$attribute->name()

The attribute name as passed to the constructor.

$attribute->value()

The attribute value as passed to the constructor.

$attribute->charset()

The attribute's charset.

$attribute->language()

The attribute's language.

$attribute->as_string()

This returns the attribute in a form suitable for putting in an email. This may involve escaping, quoting, splitting up, and otherwise messing with the value.

If the value needs to be split across continuations, each name/value pair is returned separate by a space, but not folded across multiple lines.

$attribute->stream_to( output => $output )

This method will send the stringified attribute to the specified output. The output can be a subroutine reference, a filehandle, or an object with a "print()" method. The output may be sent as a single string, as a list of strings, or via multiple calls to the output.

ROLES

This class does the "Courriel::Role::Streams" role.

AUTHOR

Dave Rolsky <[email protected]>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2016 by Dave Rolsky.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)