Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback."—  Präsentation transkript:

1 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback

2 2 Mehrdimensionale Datenstrukturen List of Lists (LoL) Hash of Hashs (HoH) alle Mischformen möglich Zu beachten: Direktes Ausdrucken nicht möglich

3 3 List of Lists for ($i=0;$i<3;$i++){ for ($j=0;$j<3;$j++){ $abc[$i][$j]=$i*$j}} $abc[2][0]=5; for ($i=0;$i<3;$i++){ for ($j=0;$j<3;$j++){ print "$abc[$i][$j] "} print "\n"}

4 4 Ergebnis 0 0 0 0 1 2 5 2 4

5 5 List of Lists (Listenverarbeitung) @abc=(["ich","du","er"], ["Karl","Fritz"], [3,2,1], [1,2,"a","b"]); foreach $a(@abc){ @b=@{$a}; print "@b\n"; }

6 6 List of Lists @bce=("Cola","Fanta"); $abc[5]=[@bce]; $abc[7][1]=5; foreach $a(@abc){ @b=@{$a}; print "@b\n"; }

7 7 Ergebnis: Vorsicht Lücken (perl -w) ich du er Karl Fritz 3 2 1 1 2 a b Use of uninitialized value at test.pl line 10. Cola Fanta Use of uninitialized value at test.pl line 10. Use of uninitialized value at test.pl line 11. 5

8 8 Behandlung undefinierter Werte @bce=("Cola","Fanta"); $abc[5]=[@bce]; $abc[7][1]=5; foreach $a(@abc){ if(defined($a)){ print "@{$a}\n"}}

9 9 Warum das? ich du er Karl Fritz 3 2 1 1 2 a b Cola Fanta Use of uninitialized value at test.pl line 12. 5

10 10 Lückenbehandlung komplett @bce=("Cola","Fanta"); $abc[5]=[@bce]; $abc[7][1]=5; foreach $a(@abc){ if(defined($a)){ foreach $b(@{$a}){ if (defined($b)){print "$b "}} print "\n"}}

11 11 Aufgabe 7-1 Lesen Sie die Datei daten7-1.txt ein. In jeder Zeile sind 3 Zahlen, jeweils durch Leerzeichen getrennt, enthalten. Speichern Sie diese Zahlen einzeln in einer List of Lists (LoL) ab. Geben Sie anschließend die LoL aus.

12 12 Aufgabe 7-2 Lesen Sie die Datei daten7-1.txt ein. In jeder Zeile sind 3 Zahlen, jeweils durch Leerzeichen getrennt, enthalten. Speichern Sie diese Zahlen einzeln in einer List of Lists (LoL) ab. Multiplizieren Sie in einem Unterprogramm die Elemente der Lol jeweils mit sich selbst. Geben Sie anschließend die LoL in die Datei out7-1.txt aus.

13 13 Dateiinformationen $_="bla.txt"; if (-e) {}; # existiert if (-z) {};# Laenge 0 if (-s) {};# Laenge nicht 0 if (-f) {};# normale Datei (file) if (-d) {};# Verzeichnis (directory)

14 14 File::Find #! perl -w sub gefunden{ print "$File::Find::name\n" } use File::Find; print 'Ab welchem Verzeichnis soll gesucht werden?'; $startdir= ; chomp ($startdir); find(\&gefunden,$startdir);

15 15 File::Find (globale Var.) sub gefunden{ if (-d) { push (@list, $File::Find::name.'/',"\n")} else {push (@list, $File::Find::name,"\n")} }# Achtung: große Systeme => @list groß use File::Find; print 'Ab welchem Verzeichnis soll gesucht werden?'; $startdir= ; chomp ($startdir); find(\&gefunden,$startdir); print @list;

16 16 Aufgaben 7-3 Suchen Sie innerhalb des Dateibaumes alle Dateien, deren Name die Sequenz win enthält. Geben Sie die Dateinamen aus. 7-4 Suchen Sie innerhalb des Dateibaumes alle Dateien, in deren Inhalt die Sequenz c: vorkommt. Geben Sie die Dateinamen aus.

17 17 Fehlersuche(1) #! perl -w use diagnostics; use strict;

18 18 Fehlersuche (2) $test=1;. if($test) print..... if($test) print....

19 19 Kontrolle des Dateiöffnens open(XYZ,$file) || die "Oeffnen: $file $!\n"; # Dateiname, Ursache open(XYZ,$file) || die "Oeffnen: $file $!"; # Dateiname, Ursache, rufendes Programm, Zeile

20 20 Häufige Schnitzer print STDOUT,$a; Verwenden der falschen Vergleichsoperatoren (== statt eq) Semikolon vergessen Bei Blöcken geschweifte Klammern vergessen Bei local Vererbung vergessen Klammerebenen durcheinander bringen Durcheinanderbringen von $,@,%,&

21 21 Zusammenfassung I Philosophie von PERL Bildschirmausgabe Variablen und ihre Benutzung Skalare, Felder ( Vektoren, Listen ) Einlesen größerer Datenmengen Schleifen Vergleiche Wahrheit

22 22 Zusammenfassung II Mustervergleiche Weitere Textfunktionen tr,split... Assoziative Vektoren Spezielle Variable Hier-Dokument Unterprogramme Mehrdimensionale Felder Module

23 23 Feedback Was hat Ihnen gefallen? Was hat Sie gestört? Was hat Ihnen gefehlt?

24 24 Fragen, Anregungen und Hinweise Bitte an mich senden: lu.schreiber@arcor.de Vielen Dank


Herunterladen ppt "1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback."

Ähnliche Präsentationen


Google-Anzeigen