Homepage von Ingo Klöckl
 Home
 Programmieren
 - Toolbox
 - Java
 - PostScript
 - Perl
 - Assembler
 - Links
 - Download
Ingo Klöckl
i.kloeckl@2k-software.de

Perl lernen
Perl-Tools
Literatur und Links

Meine tägliche Praxis hat gezeigt, daß sehr häufig die Notwendigkeit besteht, ASCII-formatierte Dateien mit geringen Änderungen in andere ASCII-Dateien zu überführen. Die hierbei anfallenden Arbeitsschritte sind automatisierbar und könnten meist mit einem Editorskript erledigt werden. Zuweilen wünscht man sich jedoch weitere Kontrollelemente oder die Möglichkeiten, mit derart gewonnenen Zwischendateien Programme auszuführen, deren Ausgabe weiterzuverarbeiten ...

Perl ist eine interpretative Sprache, die neben den Manipulationsmöglichkeiten eines Editors die Elemente einer Kommandooberfläche und einer kompletten Programmiersprache vereint. Durch die Interpretation können rasch fehlerfreie Programm für alle wichtigen und alltäglichen, meist kleine, Probleme, geschrieben werden, die den Aufwand einer Compilersprache deutlich unterschreiten.

Spätestens nach einigen Tagen merkt man dann, daß Perl nicht einfach eine hervorragende Scriptsprache ist, sondern DIE Sprache schlechthin, sozusagen C unter den Interpretern, und sich als schnelle Problemlösung für alle möglichen Einsatzzwecke eignet (zumindest für die etwas kleineren, zuweilen wünscht man sich doch den Komfort einer besser kontrollierenden Sprache wie Java oder C[++]). Durch die stetig wachsende Zahl an Modulen findet man Lösungen zu fast allen Problemen, vom ODBC-Treiber bis hin zu Socketkommunikation. Ein großes Projekt von mir ist mein LaTeX-Begleitpaket OCHEM für den Textsatz chemischer Formeln.

Perl lernen

Da die mit Perl leicht lösbaren Probleme jedem leidig bekannt sein dürften und jeder sich eigene Problemstellungen leicht ausdenken kann, habe ich im ZDV im Herbst 1997 einen Perl 4-Programmierkurs gehalten, der eine Einführung in die wichtigen Sprachelemente bot. Vor allem in der Literatur finden Sie zahlreiche Möglichkeiten des Selbststudiums.

Informationen zum Kurs nicht nur für Mainzer Studis

  • perl.zip Perl 4 Kurs-Script (PS geZIPpt)
  • perlueb.zip Perlkurs Übungen 1. bis 5. Tag (PS-Dateien geZIPpt)

Perl-Tools

Keine bewegenden Tools, dafür müssen sie auch nicht erst selber geschrieben werden :-)

Wie oft benötigt man einen Taschenrechner und hat nur diese unpraktischen Desktoprechner zum Klicken ... folgender Mehrzeiler behebt das Problem auf rasche Art: abakus.pl. Was man damit machen kann? Konstanten benutzen, Perl-Ausdrücke auswerten, Unterprogramme anlegen und auswerten (Funktionen definieren), Ableitungen bilden ...

dione$ abakus.pl
ABAKUS.PL V1.0 2000 I.Kloeckl
type 'help' for help. 'exit' to exit ABAKUS

ABAKUS> sin(90)
 = 0.893996663600558
ABAKUS> $a = sqrt(2)
 = 1.4142135623731
ABAKUS> $a*$a
 = 2
ABAKUS> $l
 = 2
ABKUS> 3*$pi
 = 9.4247781
ABKUS> rad(180)
 = 3.1415927
ABAKUS> sub quad{ my $x = shift; return $x*$x; }
 =
ABAKUS> derive(\&quad, 1)
 = 2.0000  1.9999
ABAKUS> exit 
dione$

Und wie oft muß man mal ganz genau den Inhalt einer Datei anschauen und hat keinen Hexdumper bei der Hand? Hier ist einer: dump.pl.

dione$ dump.pl --help
usage: dump.pl [opt...] 
   --cpl  characters (bytes) per line
             default is 8
   --decimal print also decimal addresses

dione$ dump.pl dump.pl
0000: 23 21 20 2f 75 73 72 2f #! /usr/ 
0008: 62 69 6e 2f 70 65 72 6c bin/perl 
0010: 20 0d 0a 23 20 43 41 4c  ..# CAL 
0018: 4c 20 53 59 4e 54 41 58 L SYNTAX 
0020: 3a 20 5b 70 65 72 6c 5d : [perl] 
0028: 20 64 75 6d 70 2e 70 6c  dump.pl 
...

dione$ dump.pl --cpl 16 dump.pl
0000: 23 21 20 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c #! /usr/bin/perl
0010: 20 0d 0a 23 20 43 41 4c 4c 20 53 59 4e 54 41 58  ..# CALL SYNTAX 
0020: 3a 20 5b 70 65 72 6c 5d 20 64 75 6d 70 2e 70 6c : [perl] dump.pl 
...

dione$ dump.pl --decimal dump.pl
0000: 23 21 20 2f 75 73 72 2f #! /usr/  (    0)
0008: 62 69 6e 2f 70 65 72 6c bin/perl  (    8)
0010: 20 0d 0a 23 20 43 41 4c  ..# CAL  (   16)
0018: 4c 20 53 59 4e 54 41 58 L SYNTAX  (   24)
...

dione$ dump.pl --cpl 16 dump.pl > dump.out

Links und Literatur zu Perl

  • Perl Docs Index zu verschiedenen Dokumentationen (Standard-Perl, APIs)
  • CPAN Das CPAN (comprehensive Perl archive network) ist die wichtigste Bezugsquelle für Perl-Module, Perl-Sourcen und Binärdistributionen
  • de.comp.lang.perl.misc Perl-Newsgroup