wer ist, was ist, wo ist, wann war, was war - Lexikon / Chronik / Biografie / Wissen - Perl


Werbung

Produkte / Services :|: Chronik CD :|: als Startseite | zu den | empfehlen :|: Impressum
Lexika @ InfoBitte.de :|: Universal-Lexikon | WeltKunst | Geteiltes Deutschland | Zweiter Weltkrieg
WeltChronik.de :|: Welt | Deutschland | Kultur/Kunst/Technik :|: BildDatenBank :|: Biografien

Navigation

WeltChronik
Deutsche Chronik
KulturChronik
Biografien
Bilddatenbank
Kalenderblatt
Epochen
Lexika @ InfoBitte.de
Produkte

Suchfunktionen
Chronik-Jahr direkt

Nur Zahl eingeben
Bereich: '0'-'2001'
PARTNER
Ahnenforschung

Quellen für die Schule

FREE 4 WebMasters

Wir haben eine ganze Palette kostenloser Angebote von uns
für WebMaster und HomePage Besitzer aufbereitet

Holen Sie sich hier ab

was Sie gerne einsetzen würden
Suchfunktionen, Kalenderblatt, uam
für Ihre WebSite



Perl

ein InfoBitte / WeltChronik
Sach-Artikel (Enzyklopädie / Lexikon)

Entwickelt von ICA-D aus der XML-Version der deutschen WikiPedia
© 2004/2005 ff by de.wikipedia.org, teilw. by ICA-D
blättern» voriger Artikel | Hauptseite | nächster Artikel «blättern

Dieser Artikel beschäftigt sich mit der Skriptsprache Perl. Den Artikel zu der Gemeinde Perl im Saarland finden Sie unter Perl (Saarland) und den Schriftgrad Perl (5 Punkt) findet man unter Schriftgrad. - Programmiersprachen mit ähnlichem Namen: Pearl


Perl (Practical Extraction and Report Language) ist eine Programmiersprache (genauer: Skriptsprache) zum Verfassen von Computerprogrammen. Die damit geschriebenen Programme sind von manchen als sehr unübersichtlich bezeichnet worden, vor allem wegen Variablennamen wie $&, $# oder $~. Wie in jeder Programmiersprache hängt die Lesbarkeit aber vor allem von Stil, Disziplin und Erfahrung des Programmierers ab.


Inhaltsverzeichnis


1 Geschichte

2 Merkmale

3 Datenstrukturen

4 Kontrollstrukturen

5 Beispiel

6 Versionen

7 Hinweis

8 Literatur

9 Konferenzen

10 Weblinks


Geschichte

Perl wurde von Larry Wall entworfen, der es 1987 erstmals publizierte und 1993 der Allgemeinheit frei zu Verfügung stellte. Der Benutzer kann dabei zwischen der Artistic License und der GPL wählen.


Heute wird Perl von vielen Menschen gemeinsam im Internet als Freie Software weiterentwickelt. Larry Wall bestimmt aber auch heute noch maßgeblich die Entwicklung mit.


Perls Entwurf bezog bewusst praktische Konzepte anderer Programmiersprachen wie C, awk, sed und sogar LISP ein bzw. entwickelte sie weiter. Programmierer dieser Sprachen finden so besonders leichten Zugang. Insgesamt kommt man mit Perl nach Überwindung einer ersten Hürde sehr schnell zu Erfolgserlebnissen.


Perl wurde ursprünglich unter Unix entwickelt, ist jedoch inzwischen für die meisten Betriebssysteme verfügbar.


Merkmale

Von Anfang an war Perl besonders auf die Verarbeitung von Texten und Textdateien sowie zur Ausgabe von Berichten ausgelegt. Durch zahlreiche Erweiterungen und zusätzliche Bibliotheken hat es sich jedoch längst zu einer auch universell einsetzbaren Sprache weiterentwickelt. Systemadministratoren und Webentwickler (siehe CGI) setzen sie besonders gern ein. Ein weiteres Hauptanwendungsfeld ist das Data-Munging, aber auch auf vielen anderen Gebieten ist Perl zu Hause - ausgenommen sind eigentlich nur Bereiche, in denen Skriptsprachen aus Geschwindigkeitsgründen prinzipbedingt ungeeignet sind.


Perl wurde für den praktischen Einsatz entwickelt und konzentriert sich daher auf einfache Programmierbarkeit, Vollständigkeit und Effizienz. Ein gern zitiertes Motto besagt, dass leichte Dinge einfach und komplexe Dinge möglich sein sollen.


Neben einer unkomplizierten Verwendung von Variablen (Typ"losigkeit",...) zeichnet sich Perl u. a. auch durch einen sehr ausgefeilten Mechanismus zur Textmustererkennung, die regulären Ausdrücke aus, der z. B. eine sehr effektive Programmierung von Filtern oder Reports gestattet. Mit Version 5 wurde es um die Möglichkeit objektorientierter Programmierung erweitert, die sich gut in das Konzept der Sprache einpasst.


Kenner schätzen an Perl neben den schon erwähnten Eigenschaften seine enorme Flexibilität. Typischerweise gibt es sehr viele mögliche Lösungsansätze für ein Problem, so dass jeder die ihm angenehmste Variante finden und verwenden kann. Hier wie auch an anderen Stellen merkt man dem Design die Anlehnung an natürliche Sprachen mit ihren reichen Formulierungsmöglichkeiten an.


Kritiker missinterpretieren diese Flexibilität oft so, dass Perl dazu einlade, sehr unübersichtlichen Code zu produzieren, und gehen sogar so weit zu sagen, Perl sei die einzige Sprache, in der man "write-only" programmieren könne. Tatsächlich bietet Perl nicht mehr oder weniger Möglichkeiten, unleserlichen Code zu produzieren, als andere Sprachen auch; Les- und Wartbarkeit eines Programms hängen in praktisch allen verbreiteten Sprachen vor allem vom Willen und Können seines Autors ab.


Als Maskottchen von Perl dient ein Dromedar. Es zierte erstmals den Umschlag des Referenzwerkes 'Programming Perl', das im O'Reilly Verlag herausgegeben wird und als das Kamel-Buch bekannt ist.


In einem Interview sagte Tim O'Reilly scherzhaft als Begründung: "Perl ist hässlich und kommt über lange Strecken ohne Wasser aus."


Datenstrukturen

Basisdatentypen in Perl sind skalare Variablen, Arrays und Hashes (assoziative Arrays).


(Assoziative Arrays werden in Smalltalk Dictionary genannt und in Java HashMap, erfunden wurden sie von Aho, Weinberger und Kernighan im Rahmen von awk).


In einer skalaren Variable können Strings, Zahlenwerte oder Referenzen auf andere Daten gespeichert sein. Dasselbe gilt für alle Elemente der Array- und Hash-Datenstrukturen. Referenzen als Spezialfälle skalarer Variablen erlauben so die Konstruktion beliebig komplexer Datenstrukturen. Auch Objekte werden über Referenzen verwaltet.


Charakteristisch für Perl ist, dass Datentypen durch ein Prefix (oder auch Sigil genannt) angezeigt werden, beispielsweise werden


 $ für Skalare ($scalar),
@ für Arrays (@array),
% für Hashes/assoziative Arrays (%hash),
& für Funktionen (&function)
* für Typeglobs (*alles)

verwendet.


Während Arrays natürliche Zahlen als Index verwenden (die Zählung beginnt standardmäßig mit 0), werden Hasheinträge über einen alphanumerischen Schlüssel ("Key") angesprochen. Hashes und Arrays lassen sich einander zuweisen.


Kontrollstrukturen

Die grundlegenden Kontrollstrukturen unterscheiden sich kaum von denen in C, Java und JavaScript:


If:


   if (<condition>)
{
<statements>
}
[
elsif (<condition>)
{
<statements>
}
]*
[
else
{
<statements>
}
]

While-Schleife:


   while (<condition>)
{
<statements>
}

Do._.. while:


   do
{
<statements>
} while (<condition>);

For-Schleife:


   for ([<start expression>]; [<condition>]; [<update statement>])
{
<statements>
}

Foreach-Schleife:


   foreach [ [my] $element] (<list>)
{
<statements>
}

Interessant sind nachgestellte Kontrollstrukturen, die es erlauben, die wesentliche Funktion eines Codefragments durch Voranstellen herauszuarbeiten, und die den (englischsprachigen) Lesern das Verständnis durch natürlichsprachige Formulierungen erleichtern:


   doSomething() if $condition;

   doNothing() unless $condition;

   loop() for @list;  # Langform: loop() foreach @list;

   print while <>;

Beispiel

Perl wird häufig für so genannte Filterprogramme verwendet.


Diese lesen Zeile für Zeile von der Standard-Eingabe-Datei, bearbeiten sie und schreiben das Ergebnis auf die Standard-Ausgabe-Datei.


Ein erster Entwurf könnte beispielsweise so aussehen:


  while ($line = <STDIN>)
{
# bearbeite hier den Inhalt der Variable $line
...
# ... und gib das Ergebnis aus
print $line;
}

Weil diese Art Aufgabe in Perl häufig vorkommt, gibt es dafür eine Abkürzung - das typische Idiom arbeitet implizit mit der Variablen $:_


  while (<>)
{
# gelesene Zeile steht in $_
...

    # ... und kann beispielsweise ausgegeben werden
print;
}

Anderes Beispiel: Einlesen einer Datei in ein Array von Zeilen


  @meinArray = <STDIN>;

Noch ein Beispiel: Zählen von Wörtern und nach Häufigkeit (seltenste zuerst) ausgeben ausführliche Version:


 while ($zeile = <ARGV>)
{
@worte = split //s+/, $zeile;
foreach $wort (@worte)
{$haeufigkeit{$wort}++;}
}

 foreach $wort (reverse sort {$haeufigkeit{$a} <=> $haeufigkeit{$b}} keys %haeufigkeit)
{print "$wort: $haeufigkeit{$wort}/n";}

kurze Version:


 map {$_{$_}++} split while <>;
print "$_: $_{$_}/n" for reverse sort {$_{$a} <=> $_{$b}} keys %_;

Insbesondere die Möglichkeit, Programme kurz zu halten, wird von Perl-Hackern sehr geschätzt.


Versionen

Ältere Versionen wie die noch sehr weit verbreitete 5.005 werden aktiv weiter gepflegt, erfahren aber nur noch minimale Erweiterungen. Der Einsatz einer Version kleiner 5.00503 ist heute allerdings nicht mehr zu empfehlen.


Das aktuelle Release der Version 5.8 ist 5.8.4. Weitere Releases dieser Version sollen zukünftig in regelmäßigen, verhältnismäßig kurzen Intervallen erscheinen.


Das aktuelle Development Release der kommenden Version 5.10 ist 5.9.1.


Version 6 wird zur Zeit komplett neu geschrieben.


Sie verfügt über eine eigene, ebenfalls komplett neu entwickelte virtuelle Maschine namens Parrot.


Um Perl-5-Code auch in Zukunft zusammen mit Perl 6 verwenden zu können, entwickelt Arthur Bergman eine Implementierung von Perl 5 auf Parrot unter dem Codenamen Ponie.


Hinweis

Perl sollte nicht mit der Programmiersprache Pearl verwechselt werden.


Literatur

  • Larry Wall u.a.: Programmieren in Perl, O'Reilly, ISBN_3897211440
  • Randal L. Schwartz, Tom Christiansen: Einführung in Perl, O'Reilly, ISBN_3897211475
  • Damian Conway: Object Oriented Perl, Manning 2000, ISBN_1884777791 ((in schlechter Übersetzung) deutsch bei Addison-Wesley 2001: Objektorientiert Programmieren mit Perl, ISBN_3827318122)
  • Randall, Sugalski, Tötsch: Perl 6 & Parrot Essentials, O'Reilly 2004, ISBN_059600737X


Konferenzen

The Perl Conference ist ein großes, von O'Reilly ausgerichtetes, allerdings auch teures Treffen in Amerika. YAPCs (Yet Another Perl Conferences) versuchen, Entwickler in einem möglichst erschwinglichen Rahmen lokal zusammenzuführen und haben inzwischen beispielsweise in Amerika, Europa und Israel Tradition. Der Deutsche Perl-Workshop als Treffen für den deutschsprachigen Raum etablierte sich bereits vor den YAPCs mit ähnlichen Zielen und findet in Zusammenarbeit mit ihnen jährlich statt. Inzwischen werden auch in vielen anderen Ländern Workshops organisiert.


Weblinks



blättern» voriger Artikel | Hauptseite | nächster Artikel «blättern

Dieser Beitrag ist aus der XML-Version der deutschen WikiPedia® entwickelt worden und unterliegt inhaltlich den GNU FDL-Lizenzbestimmungen. Linkziele außerhalb der wikipedia-Inhalte unterliegen den Urheberrechten der jeweiligen Anbieter




Wörterbuch


Produkte
2000 Jahre
Chronik CD-ROM


Kalenderblatt in
Schmuckblatt
Ausführung


Geburtstags-Bios

Suchen/Google-Ads
Kalenderblatt
druckfertig
( DirectDownloads )
Kalenderblätter
druckfertig aufbereitet für Schmuckblätter
zum Selbstdrucken

im Word DOC6/RTF Format, je Euro 5
über Click&Buy
JAN | FEB | MÄRZ
APRIL | MAI | JUNI
JULI | AUG | SEPT
OKT | NOV | DEZ

Das Geschenk für jeden Anlass, nicht nur bei 'runden' Jubiläen
Andere Einzeltage
oder Zahlungsarten

bitte HIER bestellen


© 2000 ff by ICA-D, D-76751 Jockgrim, Germany
Verantwortlich im Sinne des Presse- und Multimedia-Rechts: Dipl.-Ing. Rainer Detering, Waidweg 18, 76189 Karlsruhe


| Immer | Unsere | InfoBitte weiterempfehlen
KALENDERBLATT von HEUTE | SUCH-Funktionen ALLE und nach BEREICHEN | Startseite
Welt-Chronik | Kunst-, Kultur-, Technik-Geschichte | Deutsche Chronik | 2000 Biografien | Bild-Datenbank
Gesetzestexte | SkateGuide | Online Jigsaw Puzzles | GeschenkTip | Produkte, Services, Impressum



*NEU* bei InfoBitte *NEU*



die deutsche WikiPedia
bei InfoBitte.de mit
650,000 Querverweisen zu
2000 Jahre Chronik



InfoBitte
Portal zu Portalen
Hauptseite


Suchfunktionen

Wissen, Biografien, Geschichte
besser gezielt suchen mit
domain-Filterung

die Links führen im neuen Fenster
zu den jeweiligen Hauptseiten,
das Anklicken eines Buttons zur
Filterung für die Google-Suche



Google
Lexika @ InfoBitte.de

ib InfoBitte.de (alle Lexika)
ib Universal-/Hand-Lexikon
die WikiPedia @ InfoBitte
ib L. WeltKunstGeschichte
ib L. Geteiltes Deutschland
ib L. Zweiter Weltkrieg

2000 Jahre Chronik

WeltChronik.de (Texte)
  
WeltChronik auf CDROM
deutsche Geschichte
Kultur-/TechnikGeschichte
WeltChronik Bilder
Chronik Biografien

Google
2000 Jahre Chronik
offline auf CDROM

Hier Kaufen


WeltChronik Jahr...
(eigene Suchfunktion)

Nur Zahl eingeben
Bereich: '0'-'2001'





Diese Web Site verdient ihr Geld durch Produktverkäufe (CD-ROM, downloads) und in erster Linie durch Anzeigen. Wenn Sie als Webmaster zuverlässige Partner suchen für Ihr eigenes Anzeigenschäft, dürfen Sie sich gerne auf unsere Empfehlungen stützen:
z.B.: GigaCash & ProfiWin