The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Data::ICal::Entry::Event - Represents an event in an iCalendar file

SYNOPSIS

my $vevent = Data::ICal::Entry::Event->new();
$vevent->add_properties(
    summary => "my party",
    description => "I'll cry if I want to",
    # Dat*e*::ICal is not a typo here
    dtstart   => Date::ICal->new( epoch => time )->ical,
);

$calendar->add_entry($vevent);

$vevent->add_entry($alarm);

DESCRIPTION

A Data::ICal::Entry::Event object represents a single event in an iCalendar file. (Note that the iCalendar RFC refers to entries as "components".) It is a subclass of Data::ICal::Entry and accepts all of its methods.

METHODS

ical_entry_type

Returns VEVENT, its iCalendar entry name.

mandatory_unique_properties

The uid property is mandatory if rfc_strict was passed to "new" in Data::ICal.

optional_unique_properties

According to the iCalendar standard, the following properties may be specified at most one time for an event:

class  created  description  dtstart  geo
last-modified  location  organizer  priority
dtstamp  sequence  status  summary  transp
uid  url  recurrence-id

In addition, dtend and duration may be specified at most once each, but not both in the same entry (though this restriction is not enforced).

Or if vcal10 => 1:

class dcreated completed description dtstart dtend
last-modified location rnum priority
sequence status summary transp
url uid

optional_repeatable_properties

According to the iCalendar standard, the following properties may be specified any number of times for an event:

attach  attendee  categories  comment
contact  exdate  exrule  request-status  related-to
resources  rdate  rrule

Or if vcal10 => 1:

aalarm  attach  attendee  categories
dalarm  exdate  exrule  malarm  palarm  related-to
resources  rdate  rrule

SEE ALSO

Data::ICal::DateTime

For date parsing and formatting, including denoting "all day" events, considering using this module. Because it's a "mix in", you can still use all the methods here as well as the new date handling methods it defines.

AUTHOR

Best Practical Solutions, LLC <modules@bestpractical.com>

LICENCE AND COPYRIGHT

Copyright (c) 2005 - 2020, Best Practical Solutions, LLC. All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.