Sie sind hier
E-Book

Der Perl Programmierer

Perl lernen - Professionell anwenden - Lösungen nutzen

AutorJürgen Plate
VerlagCarl Hanser Fachbuchverlag
Erscheinungsjahr2010
Seitenanzahl1234 Seiten
ISBN9783446424494
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis47,99 EUR

Der Perl-Alleskönner
Dieses Programmierhandbuch begleitet Sie von den ersten Schritten mit Perl bis hin zu Spezialthemen und der Auswahl und Anwendung von nützlichen Tools für die tägliche Arbeit. Egal, ob Sie es als Einführung in eine neue Sprache oder als Nachschlagewerk nutzen, hier finden Sie Hilfe. Denn das steckt alles drin:
- Los geht's mit einem fundierten Einstieg in die Grundlagen und Konzepte von Perl.
- Weiter geht es mit komplexeren Programmieraufgaben und dem Einsatz von Perl-Modulen. Hier finden Sie Themen wie z.B. die Berechnung von Datum und Uhrzeit, Reguläre Ausdrücke, Grafik, Benutzeroberflächen und Datenbankanbindung.
- Sie erhalten Einblick in Spezialthemen und praktische Methoden wie die Entwicklung von Web-Anwendungen und die Netzwerk-Programmierung, Codegenerierung, Anbindung vonLaTeX und vieles mehr.
- Die Fundgrube mit nützlichen Perl-Tools zeigt Ihnen, welche bewährten Hilfsmittel es gibt, wie sie Ihnen die tägliche Arbeit erleichtern und wie sie sich an Ihre Bedürfnisse anpassen lassen.
Begleitend zum Programmierhandbuch gibt es eine Webseite mit dem Source-Code der Beispiele, Lösungen zu den Aufgaben und Links zu den besprochenen Tools und Modulen.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

12 Packages (S. 321-322)

Sie haben einige Funktionen geschrieben, um beispielsweise Daten einer Datenbank als HTML-Tabelle auszugeben. Weil Sie diese Funktionen öfter brauchen, stehen sie in einer eigenen Datei und werden als Modul ins aktuelle Programm eingebunden wie es in Kapitel 5 auf den Seiten 207ff beschrieben wurde. Im Programm selbst findet sich nun unglücklicherweise eine Funktion mit dem gleichen Namen wie eine Funktion in der externen Datei. Das Problem: Es gibt zwei verschiedene Funktionen mit dem gleichen Namen, was eher suboptimal ist. Wenn Sie sich jetzt vorstellen, dass mehrere Programmierer an einen Gesamtsystem arbeiten, sind solche Doubletten häufig die Regel.

Sie erinnern sich noch an Teil 1? Der Gültigkeitsbereich einer Variablen bezieht sich darauf, in welchen Bereichen eines Programms man auf eine Variable oder Funktion zugreifen kann. Von einem globalen Gültigkeitsbereich spricht man, wenn eine Variable im gesamten Programm verfügbar ist und so lange existiert, wie dieses ausgeführt wird. Von einem lokalen Gültigkeitsbereich spricht man hingegen, wenn eine Variable nur begrenzt gültig ist, z. B. nur innerhalb einer Funktion.

Die beste Möglichkeit, Namenskonflikte durch globale Variablen zu umgehen, besteht im Verzicht auf globale Variablen. Unterprogramme haben durchweg lokale Variablen, Werte werden gegebenenfalls über Parameter weitergereicht. Manche Softwareentwickler glauben, dies sei die Lösung aller Probleme, und das Vermeiden von globalen Variablen entspräche professionellem Softwaredesign. In der Realität werden globale Variablen aber eingesetzt. Solange man das nicht übertreibt, ist das auch durchaus in Ordnung.

12.1 Namenskonflikte mit Packages auflösen

Perl stellt mit seinen Packages (Pakete) einen Mechanismus zur Verfügung, der die Definition verschiedener, sich nicht überlappender Namensbereiche ermöglicht. Dies ist die Grundlage für die Verwendung von Perl-Bibliotheken und für die Entwicklung größerer Programmsysteme (Modularisierung). Außer einer handvoll spezieller Variablen gibt es in Perl im Prinzip keine globalen Variablen, da jede Variable automatisch dem (implizit immer vorhandenen) Package main zugeordnet ist. Mit der package-Anweisung wählt der Programmierer den gewünschten Namensraum für seine Variablen und Funktionen aus. Der Gültigkeitsbereich einer package-Anweisung beginnt bei dieser Anweisung und endet am Ende des umgebenden Blockes. Variablen eines anderen Packages können unter Angaben des Package-Namens mit folgender Notation referenziert werden:

$Packagename::Variable

Bei Perl 4 war noch die Notation $Packagename’Variable möglich, die man heute nicht mehr einsetzen sollte. Die package-Anweisung wird häufig an den Anfang einer Datei gesetzt, die ein anderes Programm dann mittels require-Anweisung einbindet. Das Prinzip der Packages besteht darin, dass für jedes Paket ein eigener Satz von Variablennamen existiert, der bestimmt, ob eine Variable für Perl verfügbar ist und wie der aktuelle Wert der Variablen lautet. Dies nennt sich „Symboltabelle“. Sie enthält alle Namen, die Sie möglicherweise in Ihrem Programm verwenden: Skalare, Arrays, Hashes und Funktionen.

Inhaltsverzeichnis
Inhalt6
Vorwort22
Teil I: Grundlagen26
1 Programmierung mit Perl28
1.1 Erste Schritte28
1.1.1 Ein Programm ausführen31
1.1.2 Aufruf32
1.1.3 Dokumentation33
1.2 Sprachkontext33
1.3 Variablen34
1.3.1 Datentypen des Perl-Interpreters34
1.3.2 Skalare Variablen35
1.3.2 Vordefinierte Skalare36
1.4 Operationen und Zuweisungen38
1.4.1 Vergleichsoperatoren39
1.4.2 Logische Operatoren und Bitmaipulation40
1.4.3 Operatorenrangfolge43
1.4.4 Zufallszahlen45
1.4.5 Vordefinierte Skalarvariablen47
1.4.6 Pragmas des Perl-Interpreters48
1.5 Listen und Arrays49
1.5.1 Unterschiede und Gemeinsamkeiten von Listen und Arrays50
1.5.2 Array-Funktionen von Perl54
1.6 Hashes55
1.7 Kontrollstrukturen61
1.7.1 Bedingte Anweisungen62
1.7.2 Schleifenkonstrukte64
1.7.3 Sprungbefehle66
1.7.4 Verkürzte Strukturen67
1.7.5 do-Blöcke68
1.7.6 Switch-Struktur68
1.7.7 goto-Anweisung70
1.8 Unterprogramme70
1.8.1 Parameterübergabe72
1.8.2 Klammern oder keine Klammern?76
1.8.2 Lebensdauer von Objekten78
1.8.4 Default-Parameter81
1.8.5 Vordefinierte Funktionen für Zeichenketten82
1.8.6 Die Sortierfunktion85
1.8.7 Vordefinierte Mathematikfunktionen88
1.8.8 Ausführen von Systemkommandos90
1.8.9 Die eval-Funktion92
1.8.10 Funktionen für Datum und Uhrzeit93
1.8.11 Aufrufkontext ermitteln95
1.9 Besondere Unterprogramme: Blöcke96
1.10 Rekursion und Iteration98
1.11 Dateien103
1.11.1 Dateien öffnen104
1.11.2 Dateien schließen106
1.11.3 Lesender Zugriff107
1.11.4 Schreibender Zugriff109
1.11.5 Ein- und Ausgabe mit Pipes111
1.11.6 Dateien zum Lesen und Schreiben öffnen112
1.11.7 Sperren des Dateizugriffes für andere Benutzer114
1.11.8 Dateifunktionen114
1.11.9 Dateitestoperatoren und Dateiinformationen116
1.11.10 Das DATA-Filehandle117
1.11.11 Besonderheiten der Konsole118
1.11.12 Binäre Daten und Dateien119
1.11.13 Formatierte Ausgabe120
1.12 Verzeichnisse129
1.13 Referenzen132
1.13.1 Referenzen auf Variablen133
1.13.2 Referenzen als Funktionsparameter und -rückgaben140
1.13.3 Referenzen auf Funktionen145
1.13.4 Referenzen auf Filehandles146
1.13.5 Speicher und Speicherbereinigung148
1.13.6 Autovivikation149
1.14 Kommandozeilenparameter149
1.14.1 Das Parameter-Array @ARGV150
1.14.2 Kommandozeilen-Schalter151
1.14.3 Die Funktion getopts()151
1.14.4 Die Funktion getopt()153
1.15 Ausblick auf Perl 6153
1.15.1 Neuigkeiten bei Perl 6154
1.15.2 Neue Sprachkonstrukte155
1.15.3 Links157
2 Fehlersuche in Programmen158
2.1 Fehler suchen158
2.2 Der Perl-Debugger161
3 Stil und Dokumentation168
3.1 Stilvorschläge für Perl-Programme169
3.1.1 Allgemeines169
3.1.2 Namen170
3.1.3 Ausdrücke170
3.1.4 Programmformat171
3.2 Dokumentation173
3.2.1 Allgemeines173
3.2.2 POD-Überschriften174
3.2.3 Listeneinträge174
3.2.4 Texthervorhebungen175
3.2.5 Spezielle Ausgabeformate175
3.2.6 Erstellen einer Manual-Seite (Manpage)177
4 Komplexe Datenstrukturen178
4.1 Anonyme Strukturen179
4.2 Mehrdimensionale Arrays183
4.3 Array von Hashes187
4.4 Hash von Arrays192
4.5 Hash von Hashes194
4.6 Komplexe Datenstrukturen196
4.7 Ausgabe mit Data::Dumper200
4.8 Strukturen Kopieren und Speichern mit Storable203
4.9 Hash-Slices205
5 Externen Code ausführen208
5.1 Externen Code mittels do() ausführen209
5.2 Externen Code mit require() einbinden210
5.3 Externen Code mit use() einbinden211
6 Reguläre Ausdrücke214
6.1 Die Basis215
6.2 Operatoren für reguläre Ausdrücke216
6.3 Der Transliterationsoperator tr219
6.4 Anker und Zeichenklassen221
6.5 Quantifizierer226
6.6 Klammern und Rückbezüge229
6.7 Modifizierer231
6.8 Beliebige Begrenzer235
6.9 Perl-Besonderheiten238
6.10 Regex-Helfer239
7 Arrays, grep, map etc.242
7.1 Listen durchsuchen mit grep243
7.2 Listen modifizieren mit map245
7.3 map und sort251
7.4 Arrays manipulieren mit splice253
7.4.1 Array-Elemente entfernen253
7.4.2 Array-Elemente ersetzen254
7.4.3 Array-Elemente hinzufügen254
7.5 Array-Slices255
7.6 Das Modul List::Util257
8 Programmkonfiguration260
8.1 Konfiguration als Perl-Code261
8.2 Konfigurationsdatei mit Key-Value-Paaren262
9 Systeminformationen268
9.1 Systemspezifische Variablen269
9.2 Ausführen von Systemkommandos270
9.3 Systemfunktionen271
9.3.1 Die Funktionen setpwent, getpwent und endpwent273
9.3.2 Die Funktionen setgrent, getgrent und endgrent274
9.3.2 Die Funktionen getlogin, getpwuid und getpwnam274
9.3.4 Die Funktionen getgrgid und getgrnam275
9.3.5 Die Funktionen getpriority und setpriority276
9.3.6 Die Funktion getppid277
10 Prozesse und Signale278
10.1 Prozesse279
10.2 fork(), wait(), waitpid() und kill()281
10.3 Signale286
10.3.1 kill(SIG, Prozess)287
10.3.2 Signalhandler288
10.3.2 Die Alarm-Funktion292
10.4 Prozesskommunikation294
10.4.1 Pipes294
10.4.2 Named Pipes297
10.4.3 Prozesskommunikation mit open()299
10.4.4 System-V-IPC300
10.4.5 Einen Dämon erzeugen303
10.4.6 Benutzer- und Gruppen-ID ändern307
11 Internationalisierung310
11.1 Die locale-Kategorien311
11.2 Zeichensätze und Codierung312
11.3 locale und Programmierung314
11.3.1 Konfiguration ändern und ausgeben314
11.3.2 Funktionen für Zeichen316
11.3.3 ISO 3166: Norm zur Länder-Codierung317
11.3.4 ISO 4217: Norm für Währungsabkürzungen318
Teil II: Packages, Module und Objekte320
12 Packages322
12.1 Namenskonflikte mit Packages auflösen323
12.2 Lexikalische Gültigkeitsbereiche326
12.3 Lokale Gültigkeitsbereiche327
12.4 Globale Variablen329
12.5 Typeglobs330
13 Module334
13.1 Perl-Module nutzen336
13.1.1 Module finden338
13.1.2 CPAN-Module installieren340
13.2 Eigene Module bauen342
13.3 Standardmodule347
13.4 Pragmas des Perl-Interpreters356
13.5 Modultests automatisieren358
13.5.1 Dokumentation testen360
13.5.2 Modultest360
13.5.3 Test::Simple361
13.5.4 Test::More363
13.6 Ein eigenes Modul erstellen369
13.6.1 Die Datei Makefile.PL370
13.6.2 Die Datei README371
13.6.3 Die Datei Changes372
13.6.4 Die Datei MANIFEST372
13.6.5 Testprogramme373
13.6.6 Das Modul selbst373
13.6.7 Das Modul testen376
13.6.8 Das Modul packen377
14 Objektorientiertes Perl378
14.1 Grundlagen der OOP379
14.1.1 Objekte und Klassen379
14.1.2 Kapselung (Encapsulation)381
14.1.3 Vererbung (Inheritance)382
14.1.4 Polymorphie (Polymorphism)383
14.2 Klassen, Objekte und Methoden384
14.2.1 Perl-OOP386
14.2.2 Zugriff auf Methoden388
14.2.3 Parameter des Konstruktors390
14.2.4 Accessors395
14.3 Vererbung400
Teil III: Perl im Einsatz412
15 Datum und Uhrzeit414
15.1 Julianischer Tag417
15.2 Osterdatum und bewegliche Feste423
15.3 Das Modul Date::Calc425
16 User-Interaktion436
16.1 Erweiterte Kommandozeilenoptionen437
16.2 Einfache Interaktion mit dem Benutzer441
16.2.1 IO::Interactive442
16.2.2 Term::Readkey443
16.2.3 IO::Prompt446
16.3 Textbildschirm mit Curses451
16.3.1 Dokumentation451
17 Textmanipulation462
17.1 Programmierwerkzeuge463
17.1.1 Crossreferenz463
17.1.2 Hexdump465
17.1.3 Dateinamen heilen467
17.1.4 Passwort-Generator469
17.1.5 Doubletten finden471
17.2 Textersetzung in Dateien473
17.2.1 Schnipp-Schnapp473
17.2.2 Mehrfachersetzungen in einer Datei474
17.3 Texte bearbeiten und konvertieren476
17.3.1 Buchstabieren leicht gemacht476
17.3.2 Silbentrennung477
17.3.3 Stemmer482
17.3.4 Das Soundex-Verfahren487
17.3.5 Rhabarber, Rhabarber488
17.3.6 Lorem ipsum489
17.4 Verarbeitung von CSV- und Excel-Dateien491
17.4.1 CSV-Dateien parsen492
17.4.2 Excel-Dateien lesen495
17.4.3 Excel-Dateien erzeugen496
17.5 PDF-Dateien erzeugen502
17.6 Makros und Templates507
17.6.1 Ein Makroprozessor507
17.6.2 Text-Templates (Schablonen)511
18 Grafik mit Perl520
18.1 Grafik-Grundlagen521
18.1.1 Einteilung nach Bildformat/Speicherung521
18.1.2 Einteilung nach Farbe und Farbtiefe522
18.1.3 Farbensehen beim Menschen523
18.1.4 Farbmodelle525
18.1.5 Das RGB-Modell526
18.1.6 Das CMY-Modell526
18.1.7 Gammakorrektur527
18.1.8 Dithering528
18.1.9 Bildkompressionsverfahren529
18.1.10 Grafikformate530
18.2 Grafiken erzeugen mit dem GD-Modul532
18.2.1 Erzeugen und Speichern von Images535
18.2.2 Farben zuordnen536
18.2.3 Grundfunktionen zum Zeichnen539
18.2.4 Text im Bild ausgeben545
18.2.5 Polygone zeichnen547
18.2.6 Flächen füllen553
18.2.7 Spezielle Farbmuster554
18.2.6 Bilder oder Bildausschnitte kopieren556
18.3 Koordinatensysteme561
18.4 Informationen über Bilder565
18.4.1 Bildgröße ermitteln565
18.4.2 Bilddaten566
18.4.3 Screenshots anfertigen567
18.5 Das Chart-Paket568
18.6 Das Modul GraphViz572
18.6.1 Installation572
18.6.2 Attribute von new()574
18.6.3 Attribute für Knoten und Kanten576
18.6.4 GraphViz-Tools583
18.7 Strichcode mit GD erzeugen584
18.8 Bildbearbeitung mit PerlMagick587
18.8.1 Die ImageMagick-Programme587
18.8.2 PerlMagick = Image::Magick594
19 Die TK-Benutzerschnittstelle618
19.1 Ereignisgesteuerte Programme619
19.2 Einführung in Perl/Tk620
19.3 Widget-Optionen623
Geometriemanager629
Der Geometriemanager grid629
Der Geometriemanager place634
Der Geometriemanager pack638
Frame- und Toplevel-Widgets643
Das Widget frame644
Das Toplevel-Widget646
Die Perl/Tk-Widgets647
Das Button-Widget648
Das Label-Widget650
Exkurs: Schriftarten (Fonts) bei X11652
Das Entry-Widget656
Das Messagebox-Widget658
Das Dialog-Widget660
Das Checkbutton-Widget663
Das Radiobutton-Widget664
Das Listbox-Widget667
Die Widgets Scrollbar, Scrolled und Scale670
Grafik mit dem Canvas-Widget677
Das Text-Widget684
Menüs erzeugen mit Menu und Menubutton688
Das Notebook-Widget693
Ein Fortschrittsbalken-Widget695
Maus und Tasten an Aktionen/Widgets binden699
20 MySQL-Datenbanken710
20.1 Einführung in Datenbanken711
20.1.1 Datenbankentwurf715
20.1.2 Elementare Datentypen721
20.1.3 Relationale Operationen722
20.2 Die Sprache SQL726
20.3 MySQL730
20.3.1 Installation und Inbetriebnahme730
20.3.2 MySQL-Datentypen734
20.3.3 Datenbankabfrage mit SELECT740
20.3.4 Joins – Abfragen mit SELECT748
20.3.5 Zeichenkettenoperationen755
20.3.6 Datums- und Zeitfunktionen756
20.3.7 Bedingte Anweisungen757
20.3.8 Tabellen importieren oder clonen757
20.3.9 Datensätze ändern oder löschen760
20.3.10 Felder einer Tabelle ändern761
20.3.11 Datenbank sichern763
20.4 Die Perl-DBI-Schnittstelle764
20.4.1 Verbindung zur Datenbank öffnen765
20.4.2 Allgemeine Funktionen768
20.4.3 Übergabe von User, Passwort und Datenbank769
20.4.4 Metadaten zur Datenbank ermitteln770
20.4.5 MySQL-Tabellen anlegen772
20.4.6 Zugriff auf die Datensätze773
20.4.7 MySQL-Spezialfunktionen und Fehlerbehandlung782
20.4.8 Bilder abspeichern und anzeigen784
20.4.9 Anwendungsbeispiel: IP-Adresse dem Land zuordnen786
20.4.10 SQL-Injection791
21 Netzwerkprogrammierung794
21.1 Socketprogrammierung795
21.1.1 Die Socket-Netzwerkschnittstelle795
21.1.2 Die Socket-Funktionen des Betriebssystems800
21.1.3 Der erste Perl-Server und -Client804
21.2 Netzwerkfunktionen in Perl806
21.2.1 IP-Adressen806
21.2.2 Informationsfunktionen807
21.3 Die Socket-Schnittstelle IO::Socket::INET813
21.3.1 Der Konstruktor new813
21.3.2 Aktive Methoden814
21.3.3 Informationsmethoden815
21.3.4 Gepufferte Ein- und Ausgabe816
21.4 Namensauflösung816
21.5 Server und Client in Perl818
21.6 Forking Server in Perl821
21.7 Server für bestimmte Dienste824
21.7.1 Sprüche-Server825
21.7.2 Keks-Server826
21.7.3 Server für HTTP827
21.7.4 Preforking839
21.7.5 Serverdienste über inetd840
21.7.6 Protokollierung842
21.7.7 Timeouts abfangen844
21.8 Perl-Clients für Standarddienste844
21.8.1 Client für Binärdaten844
21.8.2 Webclients846
21.8.3 FTP-Clients860
21.9 Portscanner863
21.10 Ping864
21.11 Rechner im Netz suchen867
21.12 Spezielle Netzwerkanwendungen870
21.2.1 Aktienkurse auslesen870
21.12.2 Comics herunterladen873
21.12.3 Wake-On-LAN877
21.12.4 Ein Protokoll entwerfen880
21.12.5 Webcams auslesen886
21.12.6 Steuern über das Netz891
22 E-Mail902
22.1 E-Mail-Grundlagen903
22.1.1 Ein Blick auf den Briefkopf904
22.1.2 Mailing-Listen905
22.1.3 Was ist MIME?906
22.1.4 POP -- Post Office Protocol908
22.1.5 IMAP -- Internet Message Access Protocol911
22.1.6 Der Mail Transport Agent912
22.2 E-Mail versenden mit Perl915
22.2.1 Mailversand mit Sendmail915
22.2.2 Mailversand mit Netzwerkfunktionen916
22.2.3 Mailversand mit Net::SMTP918
22.2.4 Ein Mini-MTA921
22.3 E-Mail mit Attachmentversenden922
22.4 MIME-Mails verarbeiten928
22.4.1 Das Modul MIME::Parser928
22.4.2 Der Mail-Analysator936
22.4.3 Die Dateien aliases und .forward940
22.5 E-Mail vom Mailserver holen942
22.5.1 E-Mail per POP3 holen942
22.5.2 E-Mail per IMAP holen945
23 CGI und HTML952
23.1 Das Hypertext Transfer Protocol954
23.1.1 Struktur der HTTP-Botschaften955
23.1.2 Antwortcodes eines WWW-Servers957
23.2 Common Gateway Interface (CGI)958
23.2.1 Daten empfangen960
23.2.2 Dem Browser eine Antwort geben962
23.2.3 Sicherheit und CGI-Programme964
23.2.4 Wenn das CGI-Programm nicht läuft969
23.2.5 HTML-Formulare970
23.2.6 CGI-Programme und die Webseite977
23.3 CGI-Programmierung980
23.3.1 Ablauf eines CGI-Programms980
23.3.2 Decodierung der übergebenen Daten981
23.3.3 Fehlerbehandlung im Browser992
23.3.4 Ein Blick auf den HTTP-Header994
23.3.5 Formulare generieren996
23.3.6 Binärinformation zurückgeben1002
23.3.7 Einige einfache Anwendungen1008
23.4 Das CGI-Modul1026
23.4.1 Erzeugung eines neuen CGI-Query-Objekts1030
23.4.2 Formularparameter bearbeiten1031
23.4.3 CGI-Modul und HTTP-Header1033
23.4.4 HTML-Header und -Footer1036
23.4.5 Erzeugung von Formularen1037
23.4.6 Standard-HTML-Elemente erzeugen1043
23.4.7 Die funktionsorientierte Schnittstelle1044
23.4.8 Debugging-Tips1046
23.5 Datei-Upload per Formular1048
23.6 Session-Tracking1051
23.6.1 Zustandsspeicherung über PATH_INFO1053
23.6.2 Zustandsspeicherung per URL-Encoding1054
23.6.3 Zustandsspeicherung über Hidden-Felder1055
23.6.4 Zustandsspeicherung über Cookies1056
23.7 Datenbankzugriffe in CGI-Programmen1068
23.8 Captchas1071
23.9 Fehler im Webserver-Log suchen1078
23.10 Webseiten lokal zum Browser schicken1080
24 Suchen und Finden1082
24.1 Eine kleine lokale Suchmaschine1085
24.2 Dateien indizieren1090
24.2.1 Konfiguration des Indexers1092
24.2.2 Texte indizieren1095
24.2.3 Ein Volltextindex auf Dateibasis1102
24.2.4 Ein Volltextindex mit MySQL1105
24.3 Mit Swish-E Webseiten indizieren1111
24.4 Links überprüfen1120
25 Numerik und Statistik1124
25.1 Mathematikmodule1125
25.1.1 Große Ganzzahlen1125
25.1.2 Große Gleitkommazahlen1128
25.1.3 Komplexe Zahlen1130
25.1.4 Trigonometrische Funktionen1132
25.2 Deskriptive Statistik1137
25.2.1 Tabellarische und grafische Darstellung1137
25.2.2 Mittelwert, Varianz, Standardabweichung, Standardfehler1138
25.2.3 Minimum, Maximum, Median, Modalwert1140
25.2.4 Lineare Regression1142
25.3 Geometrie: Polygonumfang und -Fläche1144
25.4 Nullstellen von Gleichungen1146
25.5 Numerische Integration1151
25.6 Permutationen1153
26 Perl und die Hardware1154
26.1 You must be root …1155
26.2 Die parallele Schnittstelle1156
26.2.1 Parallele Grundlagen1157
26.2.2 Programmierung der parallelen Schnittstelle1160
26.3 Die serielle Schnittstelle1164
26.3.1 Serielle Grundlagen1164
26.3.2 Programmierung mit Perl1168
26.3.3 Steuer- und Statusleitungen, Meldungen, Einstellungen1175
26.3.4 Serielle Ein- und Ausgabe, Timeouts1182
26.3.5 Betrieb mit Modems etc.1189
26.3.6 Messwerterfassung über die serielle Schnittstelle1195
26.4 Die USB-Schnittstelle1203
26.4.1 Informationen über den USB einholen1204
26.4.2 USB über die libusb ansteuern1211
Literatur1218
Index1220

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

Modern Objective-C und Cocoa

E-Book Modern Objective-C und Cocoa

Grundlagen von Objective-C und Cocoa Programmierung für iPhone & Co. Zahlreiche praxisnahe Beispiele Holger Hinzberg zeigt Ihnen in diesem Buch von Grund auf und praxisnah, wie Sie Anwendungen mit ...

Weitere Zeitschriften

Augenblick mal

Augenblick mal

Die Zeitschrift mit den guten Nachrichten"Augenblick mal" ist eine Zeitschrift, die in aktuellen Berichten, Interviews und Reportagen die biblische Botschaft und den christlichen Glauben ...

Burgen und Schlösser

Burgen und Schlösser

aktuelle Berichte zum Thema Burgen, Schlösser, Wehrbauten, Forschungsergebnisse zur Bau- und Kunstgeschichte, Denkmalpflege und Denkmalschutz Seit ihrer Gründung 1899 gibt die Deutsche ...

cards Karten cartes

cards Karten cartes

Die führende Zeitschrift für Zahlungsverkehr und Payments – international und branchenübergreifend, erscheint seit 1990 monatlich (viermal als Fachmagazin, achtmal als ...

Deutsche Tennis Zeitung

Deutsche Tennis Zeitung

Die DTZ – Deutsche Tennis Zeitung bietet Informationen aus allen Bereichen der deutschen Tennisszene –sie präsentiert sportliche Highlights, analysiert Entwicklungen und erläutert ...

Die Großhandelskaufleute

Die Großhandelskaufleute

Prüfungs- und Praxiswissen für Großhandelskaufleute Mehr Erfolg in der Ausbildung, sicher in alle Prüfungen gehen, im Beruf jeden Tag überzeugen: „Die Großhandelskaufleute“ ist die ...

VideoMarkt

VideoMarkt

VideoMarkt – besser unterhalten. VideoMarkt deckt die gesamte Videobranche ab: Videoverkauf, Videoverleih und digitale Distribution. Das komplette Serviceangebot von VideoMarkt unterstützt die ...

ERNEUERBARE ENERGIEN

ERNEUERBARE ENERGIEN

ERNEUERBARE ENERGIEN informiert durch unabhängigen Journalismus umfassend über die wichtigsten Geschehnisse im Markt der regenerativen Energien. Mit Leidenschaft sind wir stets auf der Suche nach ...