
zeigt Ihnen wie es geht.
Perl besitzt eine Ersetzen-Funktion. Diese Funktionen nennt sich Substitution. Die Syntax dazu lautet:
$text =~ s/AltesMusterZursetzen/Ersatz/
$text enthält irgendeinen String, zum Beispiel "good food".
=~ s steht für die Funktion der Substitution in Perl.
// enthält zwischen den Schrägstrichen die Zeichen, ohne Anführungszeichen!
Es kann jeder reguläre Ausdruck als Muster verwendet werden.
Damit können wir kleine Programme schreiben, die die Mustererkennung in Perl genauer erklären:
$t = "good food"; $t =~ s/o*/e/g; print $t."\n"; |
Der Bildschirm enthält dann folgende Ausgaben:
$t1 = "good food"; $t1 =~ s/\bo*\b/e/; print $t1."\n"; |
Der Bildschirm enthält dann folgende Ausgaben:
$t2 = "good food"; $t2 =~ s/\Bo*\B/e/; print $t2."\n"; |
Der Bildschirm enthält dann folgende Ausgaben:
$t3 = "good food"; $t3 =~ s/o+/e/; print $t3."\n"; |
Der Bildschirm enthält dann folgende Ausgaben:
$t4 = "good food"; $t4 =~ s/\bo*\b/e/g; print $t4."\n"; |
Der Bildschirm enthält dann folgende Ausgaben:
$t5 = "good food"; $t5 =~ s/\Bo*\B/e/g; print $t5."\n"; |
Der Bildschirm enthält dann folgende Ausgaben:
$t6 = "good food"; $t6 =~ s/o+/e/g; print $t6."\n"; |
Der Bildschirm enthält dann folgende Ausgaben:
Wenn die Schreibweise eines Namens ungewiss ist (schreibe ich mich jetzt Roland, Rolant oder Rolannd), dann lautet die Anweisung:
$t = "Das ist ein String"; $t =~ s/^D/W/; $t =~ s/\.$/\?/; print $t; |
Der Bildschirm enthält dann folgende Ausgaben:
Mittels tr/alteListe/neueListe/ bzw y/alteListe/neueListe/ können ebenfalls Zeichen für Zeichen ersetzt werden. Es werden dabei die Zeichen der alten Liste mit dem entsprechenden Zeichen desselben Platzes in der neuen Liste getauscht. Das letzte Zeichen ist das Füllzeichen bei zuwenig Buchstaben.
Mögliche Modifikationen sind:
Beispiel: * in $_ zählen: $x = tr/*/*/;
Beilspiel: Alle nichtalphanumerische Zeichen in ein Leerzeichen: tr/a-zA-Z/
/cs