G
garraty47
Mitglied
Thread Starter
- Dabei seit
- 18.11.2004
- Beiträge
- 547
- Reaktionspunkte
- 5
hi!
ich möchte frü die verwendung mit geektool mit diesem perlscript, dass ich ohne ahnung von perl irgendwo entdeckt habe, die heutigen ereignisse aus ical auslesen.
das script ist ausführbar gemacht per chmod, und es läuft anscheinend auch, nur ohne jegliche ausgabe.
der pfad zum kalender stimmt, und am heutigen tag sind auch ereignisse eingetragen.
wo könnte da das problem liegen?
im moment kriege ich nur einen compilation error :
ich möchte frü die verwendung mit geektool mit diesem perlscript, dass ich ohne ahnung von perl irgendwo entdeckt habe, die heutigen ereignisse aus ical auslesen.
das script ist ausführbar gemacht per chmod, und es läuft anscheinend auch, nur ohne jegliche ausgabe.
der pfad zum kalender stimmt, und am heutigen tag sind auch ereignisse eingetragen.
wo könnte da das problem liegen?
im moment kriege ich nur einen compilation error :
Code:
syntax error at ical.pl line 12, near ")"
Code:
#!/usr/bin/perl
use strict;
# Extracts today's data from iCal and prints it in simple text-only format. Recommended usage with
# GeekTools (http://www.geektools.com) to display today's agenda on the desktop at all times.
#
# Required: iCal
#
# Note: This program needs lots of customization to work. iCal dumps its data into folders with long, arbitrary names, usually
# in /Users/username/Library/Application Support/iCal/Sources/_____Long name____/corestorage.ics Before you start, you
# need to check which data belongs to which calendar. Then, fill in the hash as appropriate. Two examples from my computer are given:
my %calendars= (
"cal1" => "/Users/meinuser/Library/Application Support/iCal/Sources/6DE8BC03-1DFF-4A4E-8722-B4202AD44C6D.calendar/corestorage.ics",
"cal2" => "/Users/meinuser/Library/Application Support/iCal/Sources/8C0B1ACC-0D80-471C-B6C0-9E2309C51EAE.calendar/corestorage.ics",
"cal3" => "/Users/meinuser/Library/Application Support/iCal/Sources/7608AB0A-6818-42B0-B8C5-2457868FF0F1.calendar/corestorage.ics",
"cal4" => "/Users/meinuser/Library/Application Support/iCal/Sources/B8AC64E0-5CF4-4A43-8254-B9D2403B71DB.calendar/corestorage.ics",
"cal5" => "/Users/meinuser/Library/Application Support/iCal/Sources/B57D709A-2720-45D1-9F81-A81ACC97968C.calendar/corestorage.ics",
"cal6" => "/Users/meinuser/Library/Application Support/iCal/Sources/EB6A7AED-B71A-4D7B-9DD2-EB1C754EBCE2.calendar/corestorage.ics"
);
#
# Author: David Berman
# Last Modified: September 2006
chomp(my $now = `date "+%Y%m%d"`); #get and print today's date
print `date "+%a %m/%d/%Y"`;
foreach (keys %calendars){ #run print sub on each hash element
open (raw_data, $calendars{$_})
or die "Error reading data for the $_ calendar: $!\\n";
&searchAndPrint($_);
}
#Subroutine to search through the text and print out proper information
sub searchAndPrint{
my($eventTime, $eventDescription);
print "\\n---$_[0]---\\n"; #print title
while(defined($_ = <raw_data>)){ #loop through data
if(/DTSTART.*($now)/){ #search for today
if(/T(\\d\\d\\d\\d)\\d\\d/){ #get time
chomp($eventTime= $1); #convert to 12-hour clock
if($eventTime == 0){$eventTime = "midnight";}
elsif($eventTime > 0 && $eventTime < 0100){ $eventTime= $eventTime + 1200 . " am";}
elsif($eventTime >=0100 && $eventTime <1200){ $eventTime = $eventTime . " am" ;}
elsif($eventTime == 1200){ $eventTime = "noon" ;}
elsif($eventTime > 1200 && $eventTime <1300){ $eventTime = $eventTime . " pm";}
elsif($eventTime >=1300){ $eventTime = $eventTime - 1200 . " pm";}
}
until(/SUMMARY/){$_ = <raw_data>;} #move down to "summary"
if(/(SUMMARY):(.*)/){chop($eventDescription = $2);} #get event description
print "$eventDescription @ $eventTime \\n"; #print line
}
}
}
Zuletzt bearbeitet: