HP-User: Textausgabe / Tabellenform

Abend Forum

Welche Möglichkeiten habe ich, Datensätze die aus einer DB stammen strukturiert auszugeben? Muss ich das Auslese-Array zerlegen?
Problem dabei ist, das die Datensatzinhalte natürlich in der Länge in einem gewissen Bereich variieren können. Hier mal ein Beispeil:

100100| 20120917| MaxTech| Musterstrasse| 11| 79576| Weil am Rhein| D| Herr Müller| 123456| 123456| service@maxtech.de
100100| 20120917| Testshop| Testweg| 13| 79618| Rheinfelden| D| Frau Tester| 123456| 1234567| test@tester.de

Die "|" sind aufgrund der unterschiedlichen Feldlängen natürlich versetzt.

Perlcode bis jetzt:

  
while(my @row = $sth->fetchrow_array){  
                                      print join('| ',@row)."\n";  
                                      }  

Gruss HP-User

  1. Tach!

    Welche Möglichkeiten habe ich, Datensätze die aus einer DB stammen strukturiert auszugeben? Muss ich das Auslese-Array zerlegen?

    Das hängt ganz entscheidend von deinem beabsichtigten Ausgabemedium ab. Wenn dieses HTML ist, dann nimm eine Tabelle.

    Problem dabei ist, das die Datensatzinhalte natürlich in der Länge in einem gewissen Bereich variieren können.

    Das regelt der Tabellen-Rendermechanismus vom Browser.

    dedlfix.

    1. Tach auch

      Das hängt ganz entscheidend von deinem beabsichtigten Ausgabemedium ab. Wenn dieses HTML ist, dann nimm eine Tabelle.

      Das regelt der Tabellen-Rendermechanismus vom Browser.

      Ja, leider ;-)

      Weil diesmal ist es eben nicht der Browser, sondern ein Terminal.

      Ich hab mal versucht, vor und nach dem "|" mit Leerzeichen zu arbeiten. Aber die verschieben die Ausgabe nur proportional. Ich muss wahrscheinlich die Datensatzzeile aueinander nehmen  und mit Stringfunktionen (lenght) versuchen, dass irgendwie zu zählen und entsprechend den Rest mit Leerzeichen aufzufüllen.

      Hallelulja, das kann ja heiter werden.

      Gruss HP-User.

      1. Erzähl doch einfach mal was du vor hast.
        Sinnvolle Tips kann es erst geben wenn das Problem bekannt ist.

      2. gudn tach!

        Weil diesmal ist es eben nicht der Browser, sondern ein Terminal.

        in perl gibt's fuer fast alles module. eine suche nach "perl output table terminal" lieferte mir ziemlich schnell Text::ASCIITable und das sieht brauchbar aus.

        Ich hab mal versucht, vor und nach dem "|" mit Leerzeichen zu arbeiten. Aber die verschieben die Ausgabe nur proportional. Ich muss wahrscheinlich die Datensatzzeile aueinander nehmen  und mit Stringfunktionen (lenght) versuchen, dass irgendwie zu zählen und entsprechend den Rest mit Leerzeichen aufzufüllen.

        grundsaetzlich gibt's fuer sowas printf bzw. sprintf. aber so wie's aussieht braucht man das hier nicht mal.

        prost
        seth