doofe frage zu perl script das net läuft

Diskutiere mit über: doofe frage zu perl script das net läuft im Scripting und Automatisierung Forum

  1. garraty47

    garraty47 Thread Starter MacUser Mitglied

    Beiträge:
    545
    Zustimmungen:
    5
    Registriert seit:
    18.11.2004
    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 :
    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: 14.01.2007
  2. falkgottschalk

    falkgottschalk MacUser Mitglied

    Beiträge:
    24.026
    Zustimmungen:
    1.598
    Registriert seit:
    22.08.2005
    Seit wann ist PEARL direkt im OS ausührbar? Wäre mir neu.
     
  3. garraty47

    garraty47 Thread Starter MacUser Mitglied

    Beiträge:
    545
    Zustimmungen:
    5
    Registriert seit:
    18.11.2004
    dang gewähre mir unwissenden doch einen tip wie ich es zum laufne bekomme, unter welchen voraussetzungen etc.
     
  4. MacMännchen

    MacMännchen MacUser Mitglied

    Beiträge:
    2.877
    Zustimmungen:
    213
    Registriert seit:
    03.10.2006
    das ist ja auch nicht PEARL, sondern Perl :D
    und das läuft sehr wohl ohne Zusatz unter Mac OS X

    @garraty47
    wie hast du das Skript denn gestartet?
     
  5. garraty47

    garraty47 Thread Starter MacUser Mitglied

    Beiträge:
    545
    Zustimmungen:
    5
    Registriert seit:
    18.11.2004
    bis jetzt den source code in subethaedit in eine neue datei gepastet, die ich vorher auf Ascii(ohne Verluste) als dateikodierung umgestellt habe, ausserdem syntaxmodus auf perl umgestellt

    dann meine zeilen zu ical in subethaedit geändert, abgespeichert als ical.pl.

    dann ins terminal in den entsprechenden ordner und mit
    Code:
    chmod +x ical.pl
    ausführbar gemacht, und dann gestartet mittels
    Code:
    perl ical.pl
    lag da schon der fehler?
     
  6. MacMännchen

    MacMännchen MacUser Mitglied

    Beiträge:
    2.877
    Zustimmungen:
    213
    Registriert seit:
    03.10.2006
    klinkt erst mal gut.

    Merkwürdig, ich kann keinen Fehler in Zeile 12 nachvollziehen.
    Habe den Code mal durch den Perl Interpreter auf meiner Linux Kiste im Büro gejagt (habe hier leider keinen Mac). Ich erhalte deine Fehlermeldung nicht.

    Erst beim Versuch, das iCal file zu lesen, erhalte ich:
    "Error reading data for the cal1 calendar"

    Logisch, mir fehlen die iCal files.

    Vielleicht kann mal jemand den Code auf dem Mac laufen lassen. :noplan:
     
  7. MacMännchen

    MacMännchen MacUser Mitglied

    Beiträge:
    2.877
    Zustimmungen:
    213
    Registriert seit:
    03.10.2006
    Hi,

    ich habe das Skript jetzt noch mal auf einem Mac laufen lassen, und auch dort läuft es fehlerfrei. :)

    Vielleicht ist dir beim Kopieren und Hantieren eine Klammer verloren gegangen?

    Kleiner Tipp: an deiner Stelle hätte ich mit Null Ahnung von Perl eine andere, komfortablere Lösung gesucht. Es gibt für den Mac bestimmt nette, fertige widgets oder Ähnliches ;)
     
  8. garraty47

    garraty47 Thread Starter MacUser Mitglied

    Beiträge:
    545
    Zustimmungen:
    5
    Registriert seit:
    18.11.2004
    komisch, das ist mein originaler code, den ich hier reinkopiert habe.
    tststs
     
Die Seite wird geladen...
Ähnliche Themen - doofe frage perl Forum Datum
Frage zu Applescript (Ordneraktion) Scripting und Automatisierung 24.06.2016
Wichtige frage Scripting und Automatisierung 24.06.2014
Wahrscheinlich eher banale Frage zu Applescript Scripting und Automatisierung 03.08.2013
Frage zu Automator Scripting und Automatisierung 26.12.2011
Absolute Newbie Frage, bitte nicht lachen.... Scripting und Automatisierung 14.09.2011

Diese Seite empfehlen

Benutzerdefinierte Suche