Perl – Platzhalter in Textstrings ersetzen
Dieses Codebeispiel zeigt wie man in Textstrings, die mit speziellen Platzhaltern durchsetzt sind, Werte aus dem Script einfügen kann.
Codebeispiel mit Erläuterungen
Ausgangssituation:
Es gibt in der Datenbank oder einer Sprachdatei im Textformat abgelegte Texttausgaben. Nun kann es aber sein, das man in diese Textausgaben vom Script generierte Daten einfügen möchte. Hierzu sind zunächst Platzhalter in den Textstring einzufügen, Siehe Beispiel:
$platzhaltertxt = 'Das ist <%1%> aus <%2%> in <%4%>. <%2%> ist eine Stadt im <%3%>.';
Diese Platzhalter sollen nun mit diesen Werten gefüllt werden, diese könnten hier z.B. aus einer Mitgliederdatenbank stammen und als Profilausgabe genutzt werden.
Helmut, Brand-Erbisdorf, Erzgebirge, Sachsen
Wie aus dem Plathaltertext ersichtlich gibt es hier zweimal den Platzhalter mit der Nr. 2 aber nur 4 Werte die an die function zum parsen der Textstrings übergeben werden. Um die Werte später voneinander zu trennen sind diese im Subroutinenaufruf mit einem Trennzeichen | verbunden.
Der Subroutinenaufruf:
print insert_text_vars($platzhaltertxt, "Helmut|Brand-Erbisdorf|Erzgebirge|Sachsen");
In der Subroutine selbst prüft man nun zuerst ob überhaupt Platzhalterdaten übergeben wurden. Wenn ja, in Array zerlegen mittels split und die Anzahl an Arrayelementen ermitteln.
my $anzahl = 0;
if ($ersatz ne '') {
@insert = split(/\|/, $ersatz);
unshift(@insert, '');
$anzahl = @insert;
}
Wurde eine Anzahl > 0 festgestellt wird der eigentliche Parserblock aufgerufen. Dieser ersetzt hier die Zahlen des Platzhalters mit dem passenden Arrayelement.
if ($anzahl > 0) {
$text =~ s/<%([0-9])%>/$insert[$1]/sg;
}
über
return $text;
erhält man nun die Ausgabe:
„Das ist Helmut aus Brand Erbisdorf in Sachsen. Brand-Erbisdorf ist eine Stadt im Erzgebirge.“
Hier das komplette Script:
#!/usr/bin/perl
#Fehlerausgabe an Browser
use CGI::Carp qw(fatalsToBrowser);
use strict;
print "Content-type: text/html\n\n";
my $platzhaltertxt = 'Das ist <%1%> aus <%2%> in <%4%>. <%2%> ist eine Stadt im <%3%>.';
print insert_text_vars($platzhaltertxt, "Helmut|Brand-Erbisdorf|Erzgebirge|Sachsen");
sub insert_text_vars {
my $text = shift || '';
my $ersatz = shift || '';
my (@insert);
my $anzahl = 0;
if ($ersatz ne '') {
@insert = split(/\|/, $ersatz);
unshift(@insert, '');
$anzahl = @insert;
}
if ($anzahl > 0) {
$text =~ s/<%([0-9])%>/$insert[$1]/sg;
}
return $text;
}
Hier das selbe Script noch einmal, aber als PHP Version
Weitere Beiträge
Home Office im Grünen: Warum ebenerdige Ferienhäuser der ideale Rückzugsort für digitale Nomaden sind
Ebenerdige Wochenendhäuser und Ferienhäuser. Das Internet hat die Art und Weise, wie wir kommunizieren, arbeiten und unsere Freizeit gestalten, grundlegend verändert. Es hat sich zu einem integralen Bestandteil unseres täglichen Lebens entwickelt und ermöglicht es uns, unsere Arbeit von nahezu jedem Ort aus zu erledigen. Für viele Webmaster, Programmierer und Online-Autoren ist der klassische Büroalltag […]
Aktuelle Desktop-Betriebssysteme im Vergleich für Webmaster
Aktuelle Desktop-Betriebssysteme unterscheiden sich für Webmaster vor allem bei Entwicklungs-Tools, Sicherheit, Automatisierung und Kosten. Entscheidend ist weniger das „schnellste“ System, sondern welches Betriebssystem den eigenen Web-Workflow am effizientesten unterstützt. Webmaster arbeiten typischerweise mit Code-Editoren, Browser-Developer-Tools, lokalen Webservern, Versionsverwaltung und Automatisierungsskripten. Betriebssysteme beeinflussen, wie reibungslos diese Werkzeuge zusammenspielen, wie stabil und sicher sie laufen und wie […]
Interaktiver Businessplaner 2026 für Kindle Scribe – Planen, Ziele erreichen, Erfolg steigern
Immer mehr Menschen möchten sich online ein nachhaltiges Einkommen aufbauen. Digitale Geschäftsmodelle bieten heute viele Chancen mit vergleichsweise geringem Startkapital. Etsy‑Shop‑Betreiber, digitale Nomaden und Online‑Autoren verfolgen dabei klare wirtschaftliche Ziele. Ohne strukturierte Planung bleibt langfristiger Erfolg jedoch meist dem Zufall überlassen. Ein digitaler Businessplaner auf dem Kindle Scribe bringt die gewünschte Lösung. Für eine minimale […]
Windows 11 Shortcuts: Die wichtigsten Tastaturbefehle für schnelleres Arbeiten
Profis kennen die wahre Stärke von Tastaturbefehlen unter Windows 11. Wer effizient arbeiten möchte, nutzt Shortcuts statt ausschließlich der Maus. Windows 11 bietet zahlreiche neue Funktionen mit passenden Tastenkombinationen. Microsoft setzt weiterhin konsequent auf bewährte und neue Shortcuts. Diese Befehle gehören fest zum Betriebssystem und steigern die Produktivität spürbar.
Keine Kommentare vorhanden