Seine konkreten Ziele zeichneten sich erst im Verlauf der Entwicklung ab, und es gab eindeutige Probleme bei der Kommunikation und der Außendarstellung. Perl erlaubt bedingt formatfreien Quellcode. Das bedeutet, dass Einrückungen und zusätzliche Leerzeichen syntaktisch unerheblich sind und auch Zeilenumbrüche nach Belieben eingefügt werden können. Dafür müssen Befehle eines Blocks mit Semikolon getrennt werden.
Einige Sprachelemente wie Formate, heredocs und gewöhnliche reguläre Ausdrücke sind nicht formatfrei. gekennzeichnet werden, das ihren Datentyp anzeigt. Handles und Formate besitzen kein Präfix, sind aber ebenfalls eigenständige Datentypen.
Jeder Datentyp hat in Perl seinen eigenen Namensraum. oder Referenzen auf andere Daten oder Funktionen in ihnen gespeichert sein. Strings und Zahlen werden bei Bedarf automatisch und transparent ineinander umgewandelt, eine große Besonderheit von Perl. Arrays fassen mehrere Skalare unter einem Variablennamen zusammen. Arrayeinträge haben einen Index.
Die Zählung beginnt bei 0, wenn nichts anderes definiert wurde. eindeutig identifiziert und angesprochen. Als Schlüssel kann man eine beliebige Zeichenkette benutzen, oder auch alles, was sich in eine Zeichenkette umwandeln lässt. Arrays auch einzelne Skalare enthalten. Variablen werden automatisch erstellt, sobald sie das erste Mal verwendet werden.
Weitaus häufiger im modernen Sprachgebrauch kommen gültigkeitsbeschränkte Variablen zum Einsatz. Diese müssen mittels my deklariert werden. our macht eine Variable im gesamten Programm verfügbar. undef variable gibt die angegebene Variable wieder frei.
Die grundlegenden Kontrollstrukturen unterscheiden sich kaum von denen in C, Java und JavaScript. Das optionale default entspricht hier einem else. Die optimierten logischen Operatoren erlauben auch eine bedingte Ausführung. solange die Bedingung wahr ist, until, bis sie wahr ist, und foreach iteriert über eine Liste. In Perl 5 sind for und foreach austauschbar. Block, bevor es dann mit der nächsten Iteration fortfährt.
Bezeichner gefolgt sein, der bei geschachtelten Strukturen bestimmt, auf welche Schleife sich der Befehl bezieht. Die oberhalb aufgezählten Kontrollstrukturen beziehen sich auf einen Block mit mehreren Anweisungen. Lesern das Verständnis durch natürlichsprachige Formulierung erleichtert. ein besonderes Merkmal von Perl, da ähnliche Fähigkeiten bis dahin meist nur spezialisierte Sprachen wie Snobol und awk hatten. Durch die große Verbreitung setzte Perl einen inoffiziellen Standard, der durch die von Perl unabhängige und auch teilweise abweichende Bibliothek PCRE aufgegriffen wurde, die heute von mehreren bedeutenden Sprachen und Projekten verwendet wird. Operator verwenden, da sie Kernbestandteil der Sprache sind und nicht eine zuschaltbare Bibliothek.
Der eigentliche reguläre Ausdruck wird mit Schrägstrichen als Begrenzungszeichen notiert. Weil Schrägstriche häufig auch innerhalb regulärer Ausdrücke vorkommen können, dürfen auch viele andere Zeichen zur Begrenzung verwendet werden. Das verbessert die Lesbarkeit, weil man so Zeichen wählen kann, die sich vom Inhalt des regulären Ausdrucks abheben. Perl kennt zwei Befehle für reguläre Ausdrücke, deren Verhalten mit vielen nachgestellten Optionen verändert werden kann. Befehl steht für match, was Übereinstimmung bedeutet.
Das m kann weggelassen werden, wenn man die Standardbegrenzungszeichen für reguläre Ausdrücke, nämlich Schrägstriche, verwendet. var und liefert einen Array von Zeichenketten, auf die der Suchausdruck passt. Option liefert die Suche im Listenkontext alle Funde, deaktiviert alle erkannten Subausdrücke. Option die Anzahl der Funde. und Kleinschreibung ignorieren, o Variablen nur einmal interpolieren, m den String als mehrzeilig und s als einzeilig betrachten. Option ermöglicht es, den Suchausdruck der besseren Lesbarkeit wegen über mehrere Zeilen zu verteilen und ihn mit Kommentaren zu versehen.
hat mit ihnen nur die Schreibweise gemein. Befehl tr an, der dem Ersetzen einzelner Zeichen dient. Synonym kann statt tr auch y geschrieben werden.
Neben diesen beiden kann auch der Befehl split erwähnt werden, der eine Zeichenfolge aufteilt anhand eines Trennzeichens, das auch ein regulärer Ausdruck sein darf. Alternatives Quoting und Variableninterpolation führen zu besonders gut lesbarem Code. Stringverkettung und Quotingzeichen im Text machen den Code schlecht lesbar.
Austausch des Quotingzeichens macht Escapes überflüssig. Der Code ist nun optimal. qq leitet das Quoting von Variablen im String ein. Das beliebige Zeichen danach ist das Quotingzeichen für diesen String. Wie auch bei anderen Projekten freier Software gibt es zwischen vielen Entwicklern und Benutzern der Sprache besondere soziale Bindungen, und es bildete sich eine eigene Kultur daraus. Kultur ist von Offenheit, Gastlichkeit und Hilfsbereitschaft, aber auch von Individualismus, Spieltrieb und Humor geprägt.
Im Gegensatz zu kommerziellen Programmiersprachen lassen sich fast alle Aktivitäten auf persönliche Motivationen zurückführen. Organisation, die sich als Angelpunkt einer sich selbst verwaltenden Gemeinschaft versteht und die gespendeten Gelder für einflussreiche Projekte und Personen, Organisation von Entwicklerkonferenzen und den Betrieb der wichtigsten Perl betreffenden Webseiten verwendet. Lokale Benutzergruppen, die meist ein oder zweimal im Monat zu zwanglosen Treffen einladen, bei denen auch Vorträge gehalten werden können, nennen sich Perl Mongers und sind in über 200 größeren Städten auf der ganzen Welt zu finden. Workshops wollen ambitionierte Entwickler in einem möglichst erschwinglichen Rahmen lokal zusammenführen.
die für die Regionen Nordamerika, Brasilien, Europa, Asien, Russland und Israel abgehalten werden. die mittlerweile Teil der OSCON ist. Viele Spracheigenschaften von Perl laden dazu ein, Programmcode kreativ zu gestalten.
Dies hat zu verschiedenen intellektuellen, teils humorvollen, teils skurrilen Wettbewerben und Traditionen um die Programmiersprache Perl geführt. das eine gestellte Aufgabe vollständig erfüllt, gewinnt. Neben der freien Form, die lediglich Perl zum Inhalt hat, wird hier versucht, Gedichte zu schreiben, die vom Interpreter ohne Warnungen und Fehlermeldungen ausgeführt werden. Wettbewerb, der dieser japanischen Gedichtform gewidmet ist. gibt, der am ehesten mit dem International Obfuscated C Code Contest vergleichbar ist, den Larry Wall selbst zweimal gewann.
Hier wird danach gestrebt, auf ungewöhnliche und kreative Art und Weise die Funktion eines Programms zu verschleiern. Schwartz öffentlich begonnene Disziplin JAPH. Programme enthalten, welche meist nur den Namen des Autors oder eine Botschaft auf eine möglichst nicht nachvollziehbare Art ausgeben. Signatur Just Another Perl Hacker. Perligata von Damian Conway ist wohl eines der skurrilsten Module schlechthin: Es ermöglicht dem Benutzer, Perl komplett in Latein zu schreiben.
irrelevant für die Bedeutung eines Ausdrucks, stattdessen werden die Bezüge zwischen einzelnen Wörtern durch ihre Flexion hergestellt. Von Variablen bis Referenzen und mehrdimensionalen Arrays ist alles in dieser neuen Sprachdefinition vorhanden. werden dekliniert, um die entsprechende Variable zu adressieren. insertum stringo unum tum duo excerpemento da. clavis hashus nominamentum da. für Klingonisch, Borg oder Leetspeak. Solche Module sind ein gutes Beispiel für den Zeitaufwand, den viele Leute Perl widmen Perl kann man in diesem Sinne durchaus als Hobby bezeichnen.
Kategorie von Modulen, die keinen produktiven Nutzen haben, sogar oft bewusst kontraproduktiv sind oder eine Funktion vorgeben, die unmöglich so erreicht werden kann und eher als Witz zu verstehen ist. oder sonstig humorvoll manipulieren, indem sie ihn zum Beispiel mit typischen Sprachfehlern des Präsidenten Bush versehen oder Methoden zufällig löschen, was die Anwesenheit einer diebischen Elster simulieren soll. Programmierer sehen Kamele jeder Art als Maskottchen. Die London Perl Mongers haben sogar eines aus dem Londoner Zoo adoptiert. Perl: the Swiss Army Chainsaw of Programming Languages. Anspielung auf die Vielseitigkeit von Schweizer Taschenmessern.
Perl is the only language that looks the same before and after RSA encryption. Only perl can parse Perl. Nur perl kann Perl parsen.
we often joke that a camel is a horse designed by a committee, but if you think about it, the camel is pretty well adapted for life in the desert. On the other hand, the camel has not evolved to smell good. wir witzeln oft, dass ein Kamel ein Pferd ist, das von einem Komitee entworfen wurde. Aber wenn man darüber nachdenkt, ist das Kamel ziemlich gut an das Leben in der Wüste angepasst.
Das Kamel hat sich dahin entwickelt, autark zu sein. Andererseits hat es sich nicht dazu entwickelt, gut zu riechen. Genau die Tatsache, dass es möglich ist, unsaubere Programme in Perl zu schreiben, ermöglicht es, Programme zu schreiben, die sauberer sind, als in Sprachen, die versuchen, Sauberkeit zu erzwingen.