Sahanya

Donnerstag, 20. 05. 2004

Ausgabeformat

Filed under: — Sahanya @ 13:18

Möchte man das Ausgabeformat einer Eingabe (im Folgenden die Datei themen.txt) beeinflussen hilft einem format weiter.

Der Dateiinhalt, der bearbeitet werden soll ist folgender:

Perun : Browser : HTML-CSS : Internet : PHP-JS
Sahanya : BĂĽcher : Filme : Kurioses : PS-Tutorials

Und der Perl-Code zum Einlesen der Datei (themen.txt) und Ausgeben in der neuen Datei (blogthemen.txt) sieht so aus:

#!usr/bin/perl -w
open (BLOGTHEMEN, ">blogthemen.txt") || die "kann Datei nicht anlegen $!";
open (THEMEN, "themen.txt") || die "Datei oeffnen geht nicht $!";
while (<THEMEN>) {
chomp;
($blog, $thema1, $thema2, $thema3, $thema4) = split (/: /);
write (BLOGTHEMEN);
}

(Nachtrag: Hat man in der Quelldatei mehr Daten als man verarbeiten möchte, kann man diese auch selektieren. Zeile 6 sähe dann z. B. so aus:
($blog, $thema1, $thema2, $thema3, $thema4) = (split /:/) [0,1,2,3,5];

Um das Aussehen der Zieldatei zu beeinlussen, defniert man es:

format BLOGTHEMEN =
=============================
@||||||||||||||||||||||||||||
$blog
@<<<<<<<<
$thema1
@>>>>>>>>>>>>
$thema2
@||||||||
$thema3
@<<<<
$thema4
=============================
.

Die Ausgabedatei sieht danach so aus:

Format 1

Die Einzelnen Strings wurden eingelesen, am Doppelpunkt durch split getrennt und den einzelnen Variablen zugeordnet.

In den Zeilen 1, 7, 8 und 14 sieht man die Gleich-Zeichen (29 Stück), die ich als Abgrenzung gewählt habe.

In den Zeilen 2 und 9 wird der Inhalt zentriert ĂĽber die gesamte Breite von insgesamt 29 Zeichen (28 mal | und 1 mal @) dargestellt.

In den Zeilen 3 und 10 wird der Inhalt linksbĂĽndig dargestellt.

In den Zeilen 4 und 11 wird der Inhalt rechtsbĂĽndig dargestellt, allerdings nur auf eine Breite von insgesamt 9 Zeichen.

In den Zeilen 5 und 12 wird der Inhalt zentriert dargestellt, allerdings nur auf einer Breit von 9 Zeichen, so dass er linksbĂĽndig wirkt.

In den Zeilen 6 und 13 wird der Inhalt linksbĂĽndig dargestellt, allerdings nur 5 Zeichen, er ist also abgeschnitten.

Ă„ndert man das Format @<<<< fĂĽr die Zeilen 6 bzw. 13 in ^<<<<, so erhält man als Ausgabe: „PHP-” bzw. „PS-” — es wird also logisch getrennt. Es fehlen allerdings Teile der Variable. FĂĽr eine merhzeilige Darstellung muss der Code also erweitert werden.

^<<<<
$thema4
^<<<<
$thema4
^<<<<
$thema4

Er ergibt eine evtl. nicht gewollte Leerzeile:

Format 4

Eine Ă„nderung in
~ ^<<<<
$thema4
~ ^<<<<
$thema4

ergibt die folgende zweizeilige Ausgabe (Sie kann um beliebig viele Zeilen erweitert werden):

Format 2

Der Zeilenumbruch erfolgt in der ersten Zeile logisch, allerdings wird das Wort „Tutorial” noch immer abgeschnitten — das Feld ist einfach zu kurz.

Eine Erweiterung des Codes um noch eine Zeile ~ ^<<<< mit der Zuordnung der entsprechenden Variablen $thema4, sähe dann im Ergebnis so aus:

Format 3

Hier wird die Leerzeile bei Perun unterdrĂĽckt.

Das gleiche Ergebnis bekommt man allerdings auch mit ~~ ^<<<<. Die Vorteile: weniger Schreibarbeit und wenn man sich unsicher ist, wieviele Zeilen in der Ausgabe benötigt werden, ist man damit immer auf der sicheren Seite — es werden soviele Zeilen wie benötigt generiert.

Andere Perl-Themen

Keine Kommentare

Noch keine Kommentare

RSS Feed für Kommentare zu diesem Artikel.

Entschuldige, das Kommentarformular ist zurzeit geschlossen.

 

Powered by WordPress | Angepasst von: www.vlad-design.de