The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Data::ICal::Property - Represents a property on an entry in an iCalendar file

DESCRIPTION

A Data::ICal::Property object represents a single property on an entry in an iCalendar file. Properties have parameters in addition to their value.

You shouldn't need to create Data::ICal::Property values directly -- just use add_property in Data::ICal::Entry.

The encoding parameter value is only interpreted by Data::ICal in the decoded_value and encode methods: all other methods access the encoded version directly (if there is an encoding).

Currently, the only supported encoding is QUOTED-PRINTABLE.

METHODS

new $key, $value, [$parameter_hash]

Creates a new Data::ICal::Property with key $key and value $value.

If $parameter_hash is provided, sets the property's parameters to it. The parameter hash should have keys equal to the names of the parameters (case insensitive; parameter hashes should not contain two different keys which are the same when converted to upper case); the values should either be a string if the parameter has a single value or an array reference of strings if the parameter has multiple values.

key [$key]

Gets or sets the key name of this property.

value [$value]

Gets or sets the value of this property.

parameters [$param_hash]

Gets or sets the parameter hash reference of this property. Parameter keys are converted to upper case.

vcal10 [$bool]

Gets or sets a boolean saying whether this should be interpreted as vCalendar 1.0 (as opposed to iCalendar 2.0). Generally, you can just set this on your main Data::ICal object when you construct it; add_entry automatically makes sure that sub-entries end up with the same value as their parents, and add_property makes sure that properties end up with the same value as their entry.

decoded_value

Gets the value of this property, converted from the encoding specified in its encoding parameter. (That is, value will return the encoded version; this will apply the encoding.) If the encoding is not specified or recognized, just returns the raw value.

encode $encoding

Calls decoded_value to get the current decoded value, then encodes it in $encoding, sets the value to that, and sets the encoding parameter to $encoding. ($encoding is first converted to upper case.)

If $encoding is undef, deletes the encoding parameter and sets the value to the decoded value. Does nothing if the encoding is not recognized.

as_string ARGS

Returns the property formatted as a string (including trailing newline).

Takes named arguments:

fold

Defaults to true. pass in a false value if you need to generate non-rfc-compliant calendars.

crlf

Defaults to \x0d\x0a, per RFC 2445 spec. This option is primarily for backwards compatability with version of this module prior to 0.16, which used \x0a.