Man kann in Perl schnell und einfach losprogrammieren, ohne sich von Beginn an Gedanken über Variablen und Strukturen zu machen. Anders als in anderen Programmiersprachen kann man zu jeder Zeit neue Variablen und Funktionen definieren oder einführen. Bei kleinen Scripten ist das meist kein Problem, bei umfangreichen Scripten kann es dadurch aber zu Fehlerquellen kommen, zum Beispiel dadurch, daß eine Variable falsch geschrieben wird oder doppelt verwendet wird. Es ist also sinnvoll, Variablen zu Beginn eines Scriptes zu definieren und möglicherweise mit Startparametern zu "füttern". Um dies zu erzwingen, kann man am Beginn seines Scriptes den Befehl use strict; Weiterlesen...
Der Befehl lc () wandelt alle Buchstaben eines Skalars in Kleinbuchstaben um. Alle? Nein, nicht alle. Ein paar unbeugsame nicht-amerikanische Sonderzeichen sträuben sich dagegen... oder mal im Ernst: Die Umlaute und Sonderzeichen aller möglichen Sprachen, im deutschen also ÖÄÜ, werden nicht umgewandelt.
Vorausschauende und zurückblickende Suche mit Perl - hört sich ja mächtig kompliziert an! Daß diese Suchart aber durchaus sinnvoll und auch praktisch ist, sieht man im ersten Beispiel:
Yo, also das funktioniert schon, ABER: Wie Sie vielleicht sehen, bricht man sich beim Schreiben solcher Ausgaben die Finger mit den \", geschweige denn, daß es Fehlermeldungen hagelt, wenn man mal ein \ vor dem " vergißt. Weiterlesen...
Mal unter uns: Wer kennt nicht das Problem, daß man irgendwann mal einen ganz tollen RegEx ausgetüftelt hat und nach einem Jahr nicht mehr weiß, wie das Ganze funktioniert... Darum hat Perl die Möglichkeit vorgesehen, Kommentare in regulären Ausdrücken einzufügen!
Kommentare fügt man in Klammern wie diesen "(?#...)" in eine RegEx ein.
my $t = "Test"; if($t =~ /Test(?# suche das Wort Test)/) {...}
Reguläre Ausdrücke sind eine große, mächtige Fähigkeit in Perl, alle möglichen Dinge mit Zeichenketten anzustellen. Suchen, ersetzen und löschen von Teilen eines Skalars lassen sich damit ziemlich komplex und sehr variabel umsetzen. Diese Komplexität und Flexibilität hat aber einen Nachteil: Für manche Aufgabenstellungen sind RegEx eigentlich zu langsam, bzw. es gibt wesentlich schnellere Varianten ohne RegEx.