The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.208

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2023 Frank Seitz

LICENSE

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