Bioinformatik
Perl
Practical extraction and report language
Inhalt
2. Grundlagen........................................................ Seite 3
3. Kontrollstrukturen.............................................. Seite 5
4. Variablen............................................................ Seite 7
5. Filehandles......................................................... Seite 10
ANHANG
A: Software............................................................ Seite 15
D: Übungsaufgaben............................................... Seite 19
E: Links................................................................. Seite 25
1. Perl – Einführung
1.3 Geschichte
Perl wurde 1987 von Larry Wall entwickelt. Es geht die Geschichte, dass Wall vernetzte
Rechner an der Ost- und Westküste der USA betreuen musste. Dazu gehörte auch die Analyse
von Berichten und das Erstellen von Übersichtslisten. Mit den bis dahin herkömmlichen
Programmiermitteln hätte er dies nur mit großem zeitlichen Aufwand verwirklichen können.
Deshalb habe er eine neue Programmiersprache erfunden:
Perl
Inhalt
2. Perl – Grundlagen
Hinweis: Wie ein Programm gestarten wird, wird im Folgenden nicht mehr extra aufgeführt.
Programmier-Aufgabe:
Schreiben Sie ein eigenes kurzes Eingabe-Ausgabe-Skript (ohne Kommentare) und speichern
Sie es unter einem selbst gewählten Namen ab.
2.2 Berechnungen
Programmier-Aufgaben:
Programmier-Aufgaben:
1. Geben Sie in das Perl-Skript eine aus dem Internet gesuchte DNA-Sequenz ein und
lassen Sie deren Länge bestimmen. Hinweis: $dna = „atgcgt....gtaca“;
2. Nach Eingabe eines Wortes soll dieses unterstrichen auf dem Bildschirm ausgegeben
werden. Hinweis: Die Striche befinden sich eine Zeile tiefer.
Zusammenfassung
Fassen Sie die wichtigsten Befehle, Operatoren usw. in einer WORD-Datei tabellarisch
zusammen und ergänzen Sie in Zukunft Ihre Tabelle.
Das nachfolgende Skript ist eine Einführung in das große Kapitel „Pattern Maching“ (vergl.
Kapitel 6)
Programmier-Aufgabe
5’-AGCT-3’
IIII
3’-TCGA-5’
Wenn der Benutzer fehlerhafte Eingaben macht, ist das Programm nicht brauchbar. Überlegen
Sie, welche Fehler der Benutzer machen könnte. An welchen Stellen müsste das Programm
ergänzt werden, damit fehlerhafte Eingaben zurückgewiesen bzw. automatisch verbessert
werden. Benutzen Sie vorläufig die Umgangssprache.
2.5 Ablaufsplanung
Bei der Lösung größerer Aufgaben ist es zweckmäßig, sich den Ablauf vorab genau zu
überlegen und dies zu dokumentieren. Man kann den Ablaufsplan in der Umgangssprache
formulieren. Es gibt aber auch mehrere genormte Programmablaufspläne
Internet:
http://de.wikipedia.org/wiki/Programmablaufplan
http://de.wikipedia.org/wiki/Nassi-Shneiderman-Diagramm
Im Ordner „NSD“ ist ein Programm abgespeichert, mit dem man NSD-Diagramme auf
einfach Weise erstellen kann (siehe: NSD-Editor Kurzanleitung).
Das Diagramm kann in die Skriptsprache C umgewandelt werden und von dort leicht als Perl-
Skript verändert werden.
Inhalt
3. Perl – Kontrollstrukturen
Im Skript if-if_statt_if-elsif.pl können Sie sehen, wie die if-Anweisung falsch eingesetzt ist.
Programmier-Aufgabe:
3.3 For-Schleife
Wenn man weiß, wie oft eine Schleife durchlaufen werden muss, wählt man gern die sog.
„For-Schleife“.
n! = 1*2*3*.........n.
Hierbei ist $i ein Zähler, der im Beispiel den Anfangswert 1 hat.. Der Anweisungsblock, der n
mal durchlaufen wird, steht in geschweiften Klammern {}. „<=“ bedeutet „kleiner gleich“.
Hier könnte auch ein anderer Vergleichsoperator stehen. „$i++“ ist die Laufweite. Sie
bedeutet, dass bei jedem Durchgang der Zähler um 1 erhöht wird. Man könnte diese Angabe
auch weglassen. Dann müsste im Anweisungsblock stehen: „$i = $i+1;“.
Inhalt
4. Perl – Variablen
Variablen sind „Platzhalter“ oder „Behälter“, der eine oder mehrere Werte enthält. Diese
Werte können verändert werden. Im Gegensatz zu vielen anderen Programmiersprachen
müssen die Variablen nicht vor Beginn eines Programms deklariert werden. Variablennamen
sind case-sensitiv, d.h. es wird ein Unterschied zwischen Groß- und Kleinschreibung
gemacht.
Skalare Variablen sind Variablen, die nur einen Wert, eine Zahl oder einen String
(Zeichenkette) beinhalten. Skalare Variablen werden durch ein vorgesetztes $-Zeichen
gekennzeichnet. In Perl wird kein Unterschied zwischen einer Zahlen- und einer String-
Variablen gemacht.
4.2 Arrays
Mehrere skalare Variablen können zu einer Liste zusammengefasst werden. Eine solche
eindimensionale Liste nennt man „Array“. Ein Array ist durch ein vorgesetzes @-Zeichen
gekennzeichnet. Die Elemente des Array werden beginnend mit „0“ durchnummeriert..
4.3 Hashes
Ein Hash ist eine besondere Liste, eine sog assoziative Liste. In dieser Liste sind die Elemente
nicht geordnet. Jedem „Schlüssel“ ist ein Wert zugeordnet. Hashes werden durch ein
vorangestelltes %-Zeichen gekennzeichnet. Sie sind eine Besonderheit der
Programmiersprache Perl.
Programmier-Aufgaben:
1. Im Text „Variablen.doc“ ist tabellarisch dargestellt, was Skalare, Arrays und Hashes sind.
Schreiben Sie ein Skript, in dem Sie selbst mit diesen Variablen ausprobieren, was man
mit ihnen alles machen kann.
Inhalt
5. Perl – Filehandles
Perl lebt natürlich davon, dass man Dateien (files) ausliest bzw. Ergebnisse in Dateien
schreibt. Folgende „Handlings“ werden immer wieder benötigt:
Öffnen Sie die entsprechenden Skripts, führen Sie die Programme aus und kontrollieren Sie
mit dem normalen Editor die *.txt-Dateien vor und nach der Manipulation.
Die Bezeichnungen EINGABE, AUSGABE, ANHANG sind Variablennamen für ein sog.
Filehandle. Sie werden meist in Großbuchstaben geschrieben. Die Namen können
vollkommen willkürlich gewählt werden. Man könnte jedes Mal ebenso gut
„WARZENSCHWEIN“ schreiben. Die Namen können aber über ihre Bedeutung erklären,
was mit der Datei gemacht wird. Dadurch wird das Programm verständlicher.
Programmier-Aufgabe:
Die FASTA-Dateien werden getrennt eingelesen und ihr Inhalt auf dem Bildschirm
ausgegeben. Anschließend werden die drei Dateien zu einer Datei vereinigt und diese unter
dem Namen Primaten.fas abgespeichert.
Achtung: Die Datei „Primaten.fas“ muss beim Testen des Programms wieder gelöscht
werden. Sonst wird alles immer wieder angehängt.
Inhalt
Ein regulärer Ausdruck ist ein Muster, das in einer Zeichenkette gesucht wird. Man sucht also
weniger nach einer genau vorgegebenen Zeichenkette, obwohl dies auch geht. Vielmehr kann
man Zeichenketten suchen, ohne die einzelnen Zeichen zu kennen, die vorkommen können. .
Eine Mustersuche (pattern matching) wäre beispielsweise eine Suche nach deutschen
Sonderzeichen oder irgendeine Schreibweise des Namens Meier/Meyer/Maier/Mayer.
Reguläre Ausdrücke gehen also weit über das hinaus, was z.B. WORD mit Suchen oder
Ersetzen vermag.
Die Verwendung von regulären Ausdrücken ist eine besondere Stärke von Perl, allerdings
auch die schwierigste Seite von Perl.
Beispiele:
Aufgabe:
Überlegen Sie sich, wie eine gültige Email-Adresse aufgebaut sein kann und wie der
Suchalgorithmus (in der Umgangssprache) lauten könnte.
Aber leider ist dieser Ausdruck auf dem ersten Blick nicht zu verstehen.
Wiederholung
Im Programm Ersetzen.pl sind zwei verschiedene Formen des Ersetzens vorgestellt. Erklären
Sie den Unterschied zwischen den beiden Formen.
In diesem Programm kommt bereits der sog. Match-Operator / / vor. Was zwischen den
beiden Schrägstrichen steht, ist das Muster. Der Operator =~ gibt an, in welchem String das
Muster gesucht bzw. ersetzt werden soll. Das „s“ bedeutet „substitute“. Dann kommt noch ein
weiterer slash dazu.
Reguläre Ausdrücke werden ebenfalls zwischen den / / gesetzt. Sie haben im Allgemeinen die
Form: $Text =~ /regulärer Ausdruck/Option.
Hier wird das Muster, das im regulären Ausdruck steht in $Text gesucht. Wird es gefunden,
ist das Ergebnis wahr, sonst falsch. Die Option kann weggelassen werden. Dazu später. Der
reguläre Ausdruck kann auch Variablennamen enthalten.
Im Programm reg_exakt.pl wird exakt ein vorgegebenes Muster gesucht. Probieren Sie
mehrere Eingaben durch.
Hinweis: Hier handelt es sich zwar um ein Pattern Matching, aber das Muster ist noch kein
regulärer Ausdruck.
In der eckigen Klammer steht also eine Auswahl von Zeichen, die zum Treffer führen, wenn
sie vorkommen.
Programmier-Aufgaben:
1. Schreiben Sie ein Skript, das entscheidet, ob in einem Text nur Buchstaben oder nur
Ziffern vorkommen.
Hilfe: statt alle Zeichen vorzugeben kann man auch einen Bindstrichwählen: [0-9] statt
[0123456789]
2. Schreiben Sie ein Skript, das entscheidet, ob in einem Text deutsche Sonderzeichen
(ä,ö,ü,?) vorkommen.
3. Schreiben Sie ein Skript, das entscheidet, ob in einer Nukleotidsequenz ein Startcodon
(ATG) vorkommt.
5. Schreiben Sie ein Skript, das entscheidet, ob eine Sequenz aus einer DNA oder einer
RNA vorliegt.
6. Schreiben Sie ein Skript, das feststellt, ob in einer gegebenen Nukleotidkette die
Schnittstelle des Restriktionsenzyms EcoI vorkommt.
besondere Zeichenklassen:
Programmier-Aufgaben:
1. Schreiben Sie ein Programm, das überprüft, ob eine Eingabe eine natürliche Zahl ist.
2. Schreiben Sie ein Programm, das feststellt, ob die Eingabe eine ganze Zahl, eine
Gleitkommazahl oder etwas anderes ist.
3. Schreiben Sie ein Programm, das feststellt, ob es sich bei der Eingabe einer Zahl um eine
duale Zahl handeln könnte.
Die bisherigen Beispiele der Mustersuche zeigten nur, ob eine bestimmte Zeichenfolge zum
Muster passend gefunden wurde oder nicht. Natürlich möchte man auch wissen, was
gefunden wurde oder an welcher Stelle in der Zeichenfolge das Muster gefunden wurde. Dies
lässt sich mit speziellen Variablen verwirklichen.
Programmier-Aufgabe
Schreiben Sie ein Skript, das in einer gegebenen Nukleotidsequenz die Nukleotidsequenz
zwischen dem Startcodon und dem ersten Stopcodon ausgibt.
Hilfe: Startcodon: ATG, Stopcodons: TAA, TAG, TGA
Das Zeichen | innerhalb eines regulären Ausdruck steht für „oder“
In der Aufgabenstellung liegt ein Gedankenfehler vor. Deshalb ist das Ergebnis nicht
unbedingt brauchbar. Geben Sie eine Erklärung.
Inhalt
ANHANG
A: Perl – Software
Perl
Perl ist eine interpretierende Programmiersprache, d.h. nach jedem Aufruf des geschriebenen
Perl-Programms muss das Skript in eine vom Computer verständliche Sprache übersetzt
werden. Larry Wall hat den Perl-Interpreter kostenlos zur Verfügung gestellt. Es ist im
Internet abrufbar und wird auch dauernd verbessert.
Download von Perl für WINDOWS: www.activestate.com und dann download von
ActivePerl 5.6
Installation: Nach dem Download wird die Installation mit Aufrufen der Datei gestartet. Die
Installation verläuft, wie man es bei anderen Installationn gewohnt ist.
Editor
Die Perlprogramme können mit jedem ASCII-Editor, also auch dem Texteditor von
WINDOWS, geschrieben werden. Hilfreich sind aber spezielle Perl-Editoren, die das Skript
übersichtlich gestalten. Damit wird eine Fehlersuche erleichtert.
Dass die Trial-Version auf 120 Zeilen beschränkt ist, spielt für einen Anfänger in der Perl-
Programmierung keine Rolle, da er kaum so lange Programme schreiben wird.
Tutorials
Im Internet gibt es eine Reihe von Tutorials, mit denen man die Sprache im Selbststudium
erlernen kann. Beispiele im Anhang D
Inhalt
Skalar Array
$Name[0] = „Mozart“
$Name[1] = „Beethoven“
$Name[2] = „Bach“
$Name[3] = „Armstrong“
$Name[4] = „Picasso“
$Name[5] = „Dürer“
@Name
$Name[6] = „Merian“
$Name[7] = „Friedrich“
$Name[8] = „Darwin“
$Name[9] = „Bohr“
$Name[10] = „Staudinger“
$Name[11] = „Watson“
Skalar Array
$Vorname[0] = „Wolfgang Amadeus“
$Vorname[1] = „Ludwig van“
$Vorname[2] = „Johann Sebastian“
$Vorname[3] = „Louis“
$Vorname[4] = „Pablo“
$Vorname[5] = „Albrecht“
@Vorname
$Vorname[6] = „Maria Sibylla “
$Vorname[7] = „Caspar David“
$Vorname[8] = „Charles“
$Vorname[9] = „Niels“
$Vorname[10] = „Hermann“
$Vorname[11] = „James“
Inhalt
C: Nützliche Perl-Skripts
Zufallszahlen
Mit den Funktionen rand() und int($zahl) lassen sich Zufallszahlen erzeugen.
Mit der Funktion srand($Zahl) kann der Benutzer den Initialisierungswert vorgeben.
Dann wird immer die gleiche Folge von „Zufallszahlen ermittelt.
Link: http://www.farid-hajji.net/books/de/Hajji_Farid/pbv2/numbers.html
Modulo
Bei der Division zweier ganzer Zahlen mit dem Operator „%“ ($zahl3 = $zahl1 %
$zahl2) wird zurückgegeben, was als Rest bleibt.
Beispiele (in Worten ausgesprochen): 7 modulo 2 ist gleich 1 oder 7 modulo 4 ist gleich
3.
Mit dieser Funktion kann man beispielsweise überprüfen ob eine Zahl durch eine andere
Zahl teilbat ist. In diesem Fall gilt: $zahl3 == 0.
Aufgabe: Der Computer soll feststellen ob eine eingegebene Zahl eine Primzahl ist.
Hinweis: Wählen Sie zunächst kleine Zahlen.
Zeitfunktion
Die Funktion time() gibt an, wie viel Sekunden seit dem 1.1.1970 00.00 Uhr GMT
verstrichen sind. Diese zahl kann einer skalaren Variablen übergeben werden.
Datum
Zum Ermitteln des aktuellen Datums gibt es die Funktion localtime(). Eine gute
Beschreibung liefert folgende Internetadresse:
http://www.infos24.de/perle/handbuch/24_datum_ermitteln.htm
Aufgabe: Nach Eingabe des Geburtsdatums soll das Alter automatisch ermittelt werden.
Vervielfältigkeitsoerator x
Mit diesem Operator lässt sich ein String (oder einzelnes Zeichen) n mal vervielfältigen.
$s = „abc“;
$v = $s x 5 ergibt: abcabcabcabcabc
Inhalt
D: Perl – Übungsaufgaben
Man muss das Rad nicht immer von neuem erfinden. Suchen Sie deshalb in den bereits
besprochenen Skripts nach Teillösungen. Kopieren Sie die entsprechenden Skriptabschnitte in
Ihr neues Skript und ändern Sie die Abschnitte nach Ihren Bedürfnissen um. Versehen Sie
Ihre Skripte mit Kommentaren und gliedern Sie die Skripte durch Einrückungen. Denken Sie
daran, dass eine Ablaufsplanung helfen kann, wenn es überhaupt nicht weiteregeht.
Schwierigkeitsgrade:
l: leicht
m: mittel
s: schwer
u: umfangreich
Eingaben – Ausgaben
Berechnungen
Nach Aufforderung auf dem Bildschirm, gibt der Anwender eine Zahl ein. Das
Programm berechnet dazu die dritte Potenz der Zahl, die Quadratwurzel der Zahl,
den Zehnerlogarithmus der Zahl und gibt das Ergebnis mit einer entsprechenden
Textaussage auf dem Bildschirm aus.
Nach Aufforderung auf dem Bildschirm gibt der Anwender die entsprechenden
Zahlen ein. Das Programm berechnet den Umfang und die Fläche eines Rechtecks
(eines Kreises) und gibt die entsprechenden Angaben auf dem Bildschirm aus.
b_3 l Währungsumrechnungen
Nach Aufforderung auf dem Bildschirm gibt der Anwender einen Eurobetrag ein.
Das Programm rechnet um, wie viel Dollar diesem Betrag entspricht und gibt dies
auf dem Bildschirm aus.
Textmanipulationen
Nach Aufforderung auf dem Bildschirm gibt der Anwender seinen Vor- und
Nachnamen ein. Das Programm gibt auf dem Bildschirm das Namenskürzel aus.
Dieses besteht aus dem ersten Buchstaben des Vornamens und den ersten drei
Buchstaben des Nachnamens.
Beispiel: Hallo Harald, dein Namenskuerzel ist „HBob“.
l Die Nukleotide einer Sequenz sollen in Dreierblöcken, die durch ein Leerzeichen
getrennt sind dargestellt werden.
l Lassen Sie ein eingegebenes Wort vertikal auf dem Bildschirm ausgeben.
t_2 m Nach Aufforderung gibt der Benutzer seinen Geburtstag nach folgender Form ein:
dd.MM.yyyy.
Auf dem Bildschirm wird ausgegeben, wie alt der Benutzer ist.
Bedingungen, Alternativen
if_1 l Der Benutzer gibt seinen Vornamen und sein Geschlecht (w, m) ein. Auf dem
Bildschirm steht als Begrüßungsformel:
Der Computer gibt zwei Zufallszahlen und die Rechenart auf dem Bildschirm aus.
Der Benutzer gibt eine Antwort ein. Der Computer gibt aus, ob die Antwort richtig
oder falsch ist und gibt im letzten Fall die richtige Antwort aus.
Erweiterung:
Der Computer gibt erst nach der zweiten falschen Antwort auf die gleiche
Rchenaufgabe die richtige Antwort aus.
Der Benutzer gibt vor, bis zu welcher maximalen Zahl die Übung
vorgenommen werden soll.
Der Benutzer gibt die Rechenart vor.
Schleifen
s_1 l Σ n
Lassen Sie die Summe der Zahlen 1 + 2 + ….+ n ausrechnen.
Der Benutzer gibt die Rechenart und die Anzahl an gewünschten Übungen ein. Der
Computer gibt am Ende zusätzlich aus, wie hoch der Prozentsatz richtiger Antworten ist.
if l Der Anwender soll eine natürliche Zahl < 5 eingeben. Der Computer soll dann die 3.
Potenz zu dieser Zahl auf dem Bildschirm ausgeben. Ist die eingegebene Zahl >= 5, soll
er eine entsprechende Fehlermeldung ausgeben und eine erneute Zahleneingabe
abwarten. Bei korrekter Zahleneingabe soll am Schluss das Wort „ENDE“ auf dem
Bildschirm erscheinen.
if m Der Anwender soll eine positive Zahl eingeben. Der Computer soll dann die
Quadratwurzel dieser Zahl auf dem Bildschirm ausgeben. Die entsprechende Funktion
lautet: $x = sqrt($y). Bei Eingabe einer negativen Zahl soll der Computer eine
entsprechende Fehlermeldung ausgeben und eine erneute Zahleneingabe abwarten. Bei
korrekter Zahleneingabe soll das Wort „ENDE“ auf dem Bildschirm erscheinen.
s_5 m Es soll ein Passwort eingegeben werden, das mindesten 8 Zeichen lang ist. Ist diese
Bedingung nicht erfüllt, soll der Computer das Passwort mit einer entsprechenden
Fehlermeldung zurückweisen und auf eine erneute Passworteingabe warten. Hat das
Passwort die notwendige Länge, soll auf dem Bildschirm das Wort „LOGIN“
erscheinen. Nach 10 falschen Eingaben soll abgebrochen werden.
s_4 l Der Anwender soll ein neues Passwort beliebiger Länge generieren. Nach Eingabe des
Passwortes soll er es zur Überprüfung erneut eingeben. Stimmen beide Eingaben
Überein, soll auf dem Bildschirm stehen: Neues Passwort angenommen. Stimmen die
Eingaben nicht überein, soll der ganze Vorgang wiederholt werden. Nach 10 falschen
Eingaben soll abgebrochen werden.
m Primzahlen
Geben Sie eine natürliche Zahl als obere Grenze an und lassen Sie den Computer alle
Primzahlen bis zu dieser Grenze berechnen.
$S2 =
„TTTGTTCCCTAAATAGGGACTTGTATGAATGGCCACACGAGGGCTTTACTGTCTCTTACTTCCAATCCGTGAAATTGACCTTCCCGTG
AAGAGGCGGGAATACAACAATAAGACGAGAAGACCCTATGGAGCTTTAATTAACCGACCCAAAGAGACCCATCAATTTCAACCGACAGG
AACAACAAACCTCTGTATGGGCCGACAATTTAGGTTGGGGTGACCTCGGAGAACAGAACAACCTCCGAGTGATTTAAATCAAGACTAAC
CAGTCGAAAGTATTACATCACTTATTGATCCAAAAGTTTGATCAACGGAACAAGTTACCCTAGGGATAACAGCGCAATCCTATTTCAGA
GTCCATATCGACAAT-AGG„
Berechnen Sie den Score des Alignments. Match = 1, Mismatsch = 0, Gap = -4.
Die werte für Match, Mismatch und Gap sollen im Skript eingegeben sein.
s_7 s Gegeben ist eine Nukleotidsequenz. $S =
„TAAATCTAGCCCTACCAACCCTACACTCAATTCTCATATTATATTAAATCAA
AACATTCACTTACCAAAAAGTATAGGAGATAGAAATTTCACTAAGGCGCAA
TAGAGATAGTACCGCAAGGGAATGATGAAAGATAGTTTAATAGTAAAAAAT
AGCAAGGATTAACCCCTTTACCTTTTGCATAATGAATTAACTAGAAAAATCT
GACAAAGAGAACTATAGCCAGAAACCCCGAAATCAGACGAGCTATCTGATA
GTAATCCCCAGGATCAATTCATCTATGTGGCAAAATAGTGAAGAAACTTACA
GATAGAGGTGAAATACCAATCGAGCCTGATGATAGCTGGTTGTCCAGAAAT
AGAATTTTAGTTCTACCTAAAACTTACCACAAAAACAAAATAATTCCAATGT
AAGTTTTAGAGATATTCAAAAGGGGTACAGCTCTTTTGACCAAGGATACAAC
CTTGATTAGCGAGTAAATTCACCATTAATTTCATAGTTGGCTTAGAAGCAGC
CATCAATTAAGAAAGCGTTAAAGCTCAACAACCAACCAAACTAAAAAGATT
CCAAAATTAATTAATGATCTCCTAAACATAATACTGGACTAATCTATATAAA
TAGAAGAAATAATGTTAGTATAAGTAATAAGAAGTATTTCTCCCTGCATAAG
CTTATATCAGGTCGGATGCCCGCTGATAGTTAACAACCGAATAATTAAATAC
AAAAATAGAACCTTTATTATACCAATTGTTAACCCAACACAGGCATGCTTAA
GGGAAAGATTAAAAGAAGGAAAAGGAACTCGGCAAA“.
Berechnen Sie die prozentuale Häufigkeit der Nukleotide und stellen Sie dies
übersichtlich dar.
Das Skript fehler.pl soll zählen, wie oft das Wort „ein“ in jeder Zeile einer Textdatei
vorkommt. Es findet zwar die gesuchten Wörter, zählt aber falsch. Verbessern Sie das
Programm.
s_9 m Zufallszahlen
Lassen Sie den Computer mindestens 1000 mal würfeln und prüfen Sie, ob die
gewürfelten Zahlen gleich verteilt sind.
Variablen
v_1 m In einner Liste (z.B. einer Zeugnisliste sollen die Ziffern durch das entsprechende
Zahlwort ersetzt werden.
Beispiel:
v_2 m Zufallszahlen
Sie spielen gegen den Computer das Spiel „ Schere, Stein, Papier“. Schreiben Sie
ein entsprechendes Skript.
v_3 m Ein Benutzer gibt seinen Geburtstag in folgendem Format ein: 21.10.67.
Unter der Voraussetzung, dass der Benutzer im 20. Jahrhundert geboren wurde
soll das Datum in folgender Form ausgegeben werden: 31. Oktober 1967.
Datei-Handling
d_1 m In der Datei text1.txt ist ein kurzes Gedicht abgespeichert. Der Text soll
zeilenweise auf dem Bildschirm ausgegeben werden. Anschließend sollen die
einzelnen Zeilen des Gedichtes durchnummeriert werden, alles auf dem
Bildschirm ausgegeben und unter einem neuen Dateinamen abgespeichert werden.
d_2 m Die Datei „test1.fasta“ ist im FASTA-Format abgespeichert. Öffnen Sie die Datei,
entfernen Sie die erste Zeile und speichern Sie die reine Sequenz als „test1a.fata“
ab.
Hinweis: arrays.pl
Pattern Matching
p_1 m im Text, den Sie gerade lesen, beginnt jeder Satz mit einem kleinen Buchstaben.
verbessern sie den Text. das Perl-Programm soll für jeden Text geeignet sein. den
vorliegenden Text können Sie über Copy – Paste einer Variablen zuordnen.
ursprünglicher Text und verbesserter Text sollen auf dem Bildschirm zu lesen sein.
p_2
Inhalt
E: Internetadressen zu Perl
Zu Perl:
http://perl-seiten.bei.t-online.de/perl/perl_main.html
http://www.mathe2.uni-bayreuth.de/perl/inhalt.htm
http://www.ssw.uni-linz.ac.at/Teaching/Lectures/Sem/2000/Katzmayr/index.html
http://www.uni-kiel.de/rz/lehr/doku/perlkurs/
http://www.clug.de/vortraege/perl/perl-14-nov-1997.html
http://www.tekromancer.com/
http://www0.id.ethz.ch/Publikationen/Dokumentation/perl/index.html
http://www.cip.physik.uni-muenchen.de/~tf/perl/
http://www.uni-mainz.de/~pommeren/WWW-Kurs/Teil_III.html
http://de.wikipedia.org/wiki/Perl
http://userpage.fu-berlin.de/~corff/perl/perlkurs-1.html
http://www.inf.hs-zigr.de/~maetti01/?page=Studium/Perl
http://www.shadoware.de/computer/perl/
http://www.page-workshop.de/CGI-Perl/Tutorial/Start.htm
http://www.perlboard.de/perlguide/Inhalt.html
http://www.bergt.de/workshop/wolfdesign/html/cgi.htm
Zu Programmstrukturen
http://www.fh-meschede.de/public/willms/infoSkript/02/02_kontroll.pdf
http://hukla.prakinf.tu-ilmenau.de/Lehre/EP/Ws2000-01/Vor/vor.html
Inhalt