Deko-Banner

Programmieren mit Perl 5

Einleitung

The Perl Camel
Perl 5 ist eine interpretierte, plattformunabhängige Programmiersprache (Skriptsprache), bei deren Entwicklung viel Gewicht auf Flexibilität, Erweiterbarkeit, und insbesondere die Bearbeitung und Auswertung von Textdateien gelegt wurde. Damit wird z.B. die Auswertung von großen Datenmengen oder die Ansteuerung von Geräten mittels Textkommandos ein offensichtlicher Anwendungsbereich.
Perl ist traditionell in der Bioinformatik stark vertreten, in der Implementierung von Webanwendungen (z.B. Buchungsportale) oder in der Finanzwelt. Mit dem Comprehensive Perl Archive Network CPAN existiert ein zentrales Archiv für Erweiterungsmodule. Perl selbst ist freie, quellcodeoffene Software. Unter Linux gehört es typischerweise zur minimalen Systeminstallation; für Windows existieren mehrere Varianten, darunter insbesondere ActivePerl.

Aktuelle Infos

  • Der Kurs fand Mo., 23.7. - Fr., 27.7. als ganztägiger Blockkurs statt.
  • Vormittags (ab 9h c.t.) Vorlesung in PHY 7.1.21, nachmittags (ab 12:30) Übungen im CIP-Pool VKL

Lektüreempfehlungen

  • das Skript zum Kurs (das Passwort gab es in der Vorlesung)
    (wird eventuell noch mal aktualisiert, z.B. mit Musterlösungen)
  • chromatic: “Modern Perl”, 4th edition, The Pragmatic Programmers LLC (2015)
    Kostenlos als Ebook online erhältlich hier und hier
  • Randal L. Schwartz, brian d foy, Tom Phoenix: “Learning Perl”, 7th edition, O’Reilly Media Inc. (2017)

Gliederung des Kurses

  1. Montag
    1. Einführung
      1. Entstehung und Philosophie
      2. Perl installieren
      3. Community und CPAN
      4. Hello World — schreiben und ausführen
      5. Bücher
      6. Hilfe? Hilfe!
    2. Skalare Daten
      1. Variablen: Bezeichner und “Sigil”
      2. Wert- und Mengen-Kontext
      3. Strings
      4. Zahlen
      5. Booleans
      6. undef und defined
    3. Listen und Arrays
      1. Listen, list context
      2. Arrays als Variablen deklarieren
      3. Mehr Operationen mit Arrays
    4. Übungsaufgaben
  2. Dienstag
    1. Flußkontrolle
      1. Grundsätzliches
      2. if, unless, else, elsif
      3. Bedingungen
      4. Schleifen mit foreach und for
      5. while, until; continue, last
    2. Unterprogramme / Funktionen
      1. Definition
      2. Handhabung von Parametern
      3. Rückgabewert
    3. Pakete, Module, Distributionen und CPAN
      1. Pakete
      2. Module
      3. Distributionen und CPAN
    4. Übungsaufgaben
  3. Mittwoch
    1. Reguläre Ausdrücke I
      1. Definition, Match, Suchen & Ersetzen
      2. Wiederholungen
      3. Metacharacters
      4. Zeichenklassen
    2. Hashes
      1. Grundlegendes, Deklaration, Initialisierung
      2. Existenz, Schlüssel, Werte
    3. Ein- / Ausgabe
      1. Standardeingabe STDIN
      2. <<>> (und <>)
      3. Standardausgabe STDOUT
      4. Formatierte Ausgabe: printf und sprintf
      5. Datei-Handles: öffnen, schließen, binmode
      6. die, warn, autodie
      7. Dateien: schreiben und lesen
    4. Übungsaufgaben
  4. Donnerstag
    1. Operatoren
      1. Präzedenz, Assoziativität, “Arität” und “Fixität”
      2. Numerische Operatoren
      3. String-Operatoren
      4. Logische Operatoren
      5. Der Rest
    2. Reguläre Ausdrücke II
      1. Anker
      2. Capturing
      3. Gruppierung und Alternativen
      4. Escape-Sequenzen
      5. Assertions
      6. Regexp-Modifikatoren
      7. HTML
    3. Referenzen
      1. Konzept
      2. Array- und Hash-Referenzen
      3. Funktionsreferenzen
      4. Mehrdimensionale Datenstrukturen
      5. Referenzen und die Speicherverwaltung
      6. Debugging
    4. Übungsaufgaben
  5. Freitag
    1. Objektorientiertes Programmieren mit Moose
    2. Beispiel Lab::Measurement

Fragen, Anregungen, Kommentare...

Sprechen Sie mich nach der Vorlesung an, schreiben Sie einfach eine e-mail an andreas.huettel@ur.de, oder kommen Sie Montag, 15:00-16:00, bei mir im Büro vorbei (Phy 8.1.01b).
 
Letzte Änderung: 27.07.2018 von Andreas K. Hüttel