outl, outx, outf, $_out, $_outx, die - spezielle Ausgabebefehle | ab Version 3 |
outl funktioniert wie out, nur dass es automatisch <br/>\n ans Ende hinzufügt, damit nachfolgende Ausgaben in einer neuen Zeile beginnen:
outl "Zeile1..."; outl "Zeile2...";
Erst wird "Zeile1..." und in der nächsten Zeile "Zeile2..." ausgegeben..
Zur Fehlersuche ist es oft nützlich Status- und Wertemeldungen zu Beginn der Seite auszugeben. outx fügt automatisch ein <br/>\n ans Ende, wie outl.
out "...normale Ausgabe..."; outx "Wichtig!";
Hier wird "Wichtig!<br/>\n" ganz zu Beginn der Seite ausgegeben, also vor dem "...normale Ausgabe...".
$_out enthält den bisher ausgegebenen Text.
$_outx enthält die bisher ausgegebenen Statusmeldungen.
Diese können verändert werden und so die Ausgabe nachträglich umgestaltet oder gelöscht werden. Allerdings funktioniert $_out für die normale Ausgabe nur im Ende-Teil der Seite!
<h1>Titel</h1> <include src="menu"> <perl> $_outx="" if $pure; </perl> Text...
Wenn die Variable $pure gesetzt ist, werden alle bereits erfolgten Statusmeldungen gelöscht. Es wird lediglich "Text..." ausgegeben.
Mit dem folgenden Befehl lässt sich das Gegenteil erreichen:
Mit die kann an jeder Stelle in der Seite abgebrochen werden. Übergebener Text (und nur dieser) wird ausgegeben:
Datenbank: <perl> return die "Erst ab 18!" if $Alter<18; </perl> <do action=all>
Wenn $Alter kleiner als 18 ist, dann wird lediglich "Erst ab 18!" ausgegeben. Das davorstehende "Datenbank:" wird nicht angezeigt und die nachfolgende Datenbank-Ausgabe nicht mehr ausgeführt.
Ohne Parameter, wird der bisher ausgegebene Text angezeigt:
Text... <perl> out "Mehr Text..."; return die if $Alter<18; out "Noch mehr Text..."; </perl>
Gibt "Text... Mehr Text..." aus; alles danach wird nicht mehr bearbeitet.
Lässt man das return weg, wird das aktuelle Perl-Tag noch zu Ende ausgeführt:
<perl> out "Wird ausgegeben..."; die if $Alter<18; out "Wird auch ausgegeben..."; </perl> Wird nicht ausgegeben, wenn die Bedingung für 'die' erfüllt ist.
outf "Fliesskomma-Zahl mit 2 Nachkomma-Stellen: %.2f", 4.5678;
Mehr in der Perl-Dokumentation unter "printf".
sprintf funktioniert auch in baseportal. Trotzdem, der Vollständigkeit halber:
$f = soutf "Fliesskomma-Zahl mit 2 Nachkomma-Stellen: %.2f", 4.5678; out $f;
Mehr in der Perl-Dokumentation unter "sprintf".