Artikel im Internet unter http://www.hidemail.de/blog/html-code-ausgeben-perl.shtml.
Donnerstag, 1.3.2007, 11:37:51 Uhr

HTML-Code ausgeben mit Perl


Wer viel für Webseiten programmiert, muß natürlich Text auf die Seiten bringen. Wie immer (wer hätte das gedacht...) gibts dafür in Perl mehrere Wege.

Beispiel 1: Mit print

print "<a href=\"link.htm\" target=\"_blank\">Link</a>";


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.
Ist also eher für kleine Sachen geeignet...

Beispiel 2: Mit und Here-Documents

print <<ENDE;
Hallo $user,
Das ist ein Testtext<br>
<a href="test.htm" target="_blank">Link <img src="test.gif" border="0"></a><br>
Ende des Tests
ENDE


Supeschöne Sache, find ich, weil HTML-Code schön sauber und übersichtlich in einem Block steht und nicht mehr Escaped werden muß. Zu beachten ist außerdem, daß die Variable $user ersetzt wird durch den Wert, den sie beinhalted.
Für lange Blöcke das Mittel meiner Wahl!

Übrigens
Ein

print <<'Ende';
print $user
Ende


wandelt die Variable $user nicht um, natürlich auch alle anderen Variablen nicht, die auftauchen würden.

Beispiel 3: Mit print qq
Das letzt Beispiel war ja schon sehr gut, allerdings vielleicht etwas "klobig" für kleinere Ausgabe.
Für kurze Sachen kann man jedoch bequem ein

print qq~<a href="test.htm">Link</a>~;


anwenden. Wie Sie sehen, wird der Text zwischen den beiden ~-Zeichen so ausgegeben, wie er ist. Man muß nur aufpassen, daß in dem Text, der ausgegeben werden soll, kein weiteres ~-Zeichen auftaucht. Falls doch, so hat Perl natürlich wieder die Rettung:
qq funktioniert auch mit qq(), qq,, qq[], qq##, usw. Näheres findet man in der Beschreibung perlop.pod

Und Übrigens:
Text ausgeben mit Perl ist auf diese Weise ja ganz easy, aber bedenken Sie, daß Umlaute kodiert werden sollten! Ein

print "Die Nähmaschine ist zum Nähen da.";


kann schnell zum unleserlichen Zeichensalat werden, da manche Browser die Umlaute nicht von sich aus übersetzen.



Artikel im Internet unter http://www.hidemail.de/blog/html-code-ausgeben-perl.shtml.