16 $start ||= UnixDate(ParseDate('last month'), '%Y-%m-01');
17 $end ||= UnixDate(ParseDate('now'), '%Y-%m-01');
19 $start = ParseDate($start);
20 $end = ParseDate($end);
24 die "Please tell me a filename to work on!\n"
25 unless defined $filename;
26 die "I can't find the file: $filename\n"
29 print "Processing date range: " . UnixDate($start, '%Y-%m-%d') . " - " . UnixDate($end, '%Y-%m-%d') . "\n";
31 my $calendar = Data::ICal->new(filename => $filename);
34 for my $entry (@{ $calendar->entries() }) {
35 if ($entry->ical_entry_type eq 'VEVENT') {
36 my $summary = return_property($entry, 'Summary');
37 my $description = return_property($entry, 'Description');
38 my $dtstart = return_property($entry, 'dtstart');
39 print "event: $summary - $dtstart - $description\n";
40 #print Dumper($entry);
50 my $properties = $entry->property($property);
53 unless defined $properties;
55 if (scalar(@{ $properties }) > 0) {
56 return @{ $properties }[0]->value();