NAME

Quiq::Record - Verarbeitung von Text-Records

BASE CLASS

Quiq::Object

DESCRIPTION

Ein Text-Record ist eine Folge von Schlüssel/Wert-Paaren in Textform, wobei

  • ein Schlüssel eine Folge von alphanumerischen Zeichen oder Unterstrich ('_') oder Bindestrich ('-') ist, und

  • ein Wert ein beliebiger einzeiliger oder mehrzeiliger Text ist.

Stringrepräsentation:

    Schlüssel1:
        Wert1
    Schlüssel2:
        Wert2
    ...

oder

    Schlüssel1: Wert1
    Schlüssel2: Wert2
    ...

oder ein Mischung aus beidem oder

    @@Schlüssel@@
    Wert1
    @@Schlüsse2@@
    Wert2

Um die dritte Repräsentation (mit @@Schlüssel@@) zu erzeugen, muss als Option -format => '@' angegeben werden.

METHODS

Klassenmethoden

fromString() - Lies Schlüssel/Wert-Paare aus String

Synopsis

    @keyVal | $keyValA = $class->fromString($str);
    @keyVal | $keyValA = $class->fromString(\$str);

Description

Lies Text-Record aus Zeichenkette $str, zerlege ihn in Schlüssel/Wert-Paare und liefere die Liste der Schlüssel/Wert-Paare zurück. Im Skalarkontext liefere eine Referenz auf die Liste.

  • NEWLINEs am Anfang und am Ende eines Werts werden entfernt.

  • Eine Einrückung innerhalb eines mehrzeiligen Werts wird entfernt. Eine Einrückung ist die längste Folge von Leerzeichen oder Tabs, die allen Zeilen eines mehrzeiligen Werts gemeinsam ist.

fromFile() - Lies Schlüssel/Wert-Paare aus Datei

Synopsis

    @keyVal | $keyValA = $class->fromFile($file,@opt);

Arguments

$file

Datei, die den Record enthält.

Options

-encoding => $encoding

Character Encoding, z.B. 'UTF-8'.

Description

Wie fromString, nur dass der Record aus Datei $file gelesen wird.

toString() - Schreibe Schlüssel/Wert-Paare auf String

Synopsis

    $str = $class->toString(@keyVal,@opt);
    $str = $class->toString(\@keyVal,@opt);

Options

--format => ':'|'@' (Default: ':')

Im Falle von ':' erzeuge das Format:

    <KEY>:
        <VAL>

Im Falle von '@' erzeuge das Format:

    @@<KEY>@@
    <VAL>
-indent => $n (Default: 4)

Tiefe der Einrückung.

-ignoreNull => $bool (Default: 0)

Ignoriere Schlüssel/Wert-Paare, bei denen der Wert null ist.

-space => $n (Default: 0)

Anzahl Leerzeilen zwischen den Einträgen.

-strip => $bool (Default: 1)

Entferne Leerzeilen am Anfang und Whitespace am Ende des Werts.

Description

Generiere für die Schlüssel/Wert-Paare @keyVal eine Text-Record Repräsentation und liefere diese zurück.

toFile() - Schreibe Schlüssel/Wert-Paare auf Datei

Synopsis

    $class->toFile($file,@keyVal,@opt);
    $class->toFile($file,\@keyVal,@opt);

Options

Siehe toString

Description

Wie toString, nur dass der Record auf eine Datei geschrieben wird. Die Methode liefert keinen Wert zurück.

VERSION

1.151

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2019 Frank Seitz

LICENSE

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.