NAME

Quiq::StreamServe::Stream - Inhalt einer StreamServe Stream-Datei

BASE CLASS

Quiq::Hash

DESCRIPTION

Ein Objekt der Klasse repräsentiert den Inhalt einer StreamServe Stream-Datei:

  • Feldwerte können abgfragt werden

  • Über den Blöcken kann iteriert werden

METHODS

Klassenmethoden

new() - Instantiiere Objekt

Synopsis

$ssf = $class->new($file,%options);

Arguments

$file

Pfad der Streamdatei.

Options

-debug => $bool (Default: 0)

Gib den Inhalt des Streams auf STDOUT aus (Blöcke in Lesereihenfolge, Felder alphanumerisch sortiert).

-ignore => \@vals (Default: [])

Feldwerte, die auf einen Leerstring reduziert werden. Beispiel:

-ignore => ['.','*','-']

Returns

Objekt

Description

Instantiiere ein Objekt der Klasse und liefere dieses zurück.

split() - Zerlege (Multi-)Stream in Einzelstreams

Synopsis

@arr | $arrA = $class->split($file);
@arr | $arrA = $class->split(\$data);

Arguments

$file

Stream-Datei

$data

Stream-Daten

Returns

(Array of Strings) Liste der Einzelstreams

Description

Zerlege einen (Multi-)Stream (aus Datei oder In-Memory-Daten) in Einzelstreams und liefere die Liste der Einzelstreams zurück.

Die gelieferte Liste ist leer, wenn der Stream lediglich einen A0- oder A1-Block enthält.

Objektmethoden

allBlocks() - Liste aller Blöcke

Synopsis

@arr | $arrH = $ssf->allBlocks;

Returns

(Array of Hashes) Liste von Blöcken

Description

Liefere die Liste aller Blöcke des Streams.

blocks() - Liste der Blöcke einer Blockart

Synopsis

@arr | $arrH = $ssf->blocks($prefix);
@arr | $arrH = $ssf->blocks($prefix,$sloppy);

Arguments

$prefix

Die Blockart

Options

$sloppy

Wenn gesetzt, wirf keine Exception, wenn die Blockart nicht existiet, sondern liefere eine leere Liste.

Returns

(Array of Hashes) Liste von Blöcken

Description

Liefere die Liste der Blöcke einer Blockarten. Eine Blockart ist durch ihren Präfix charakterisiert.

file() - Pfad der Streamdatei (Accessor-Methode)

Synopsis

$path = $ssf->file;

Returns

(String) Pfad der Streamdatei

Description

Liefere den Pfad der Streamdatei.

get() - Liefere Wert

Synopsis

$val = $ssf->get($name,$i);
$val = $ssf->get($name);

Arguments

$name

Name des abzufragenden Feldes

$i (Default: 0)

Index im Falle mehrfachen Vorkommens des Feldes

Returns

(String) Wert

prefixes() - Liste der Blockarten (Präfixe)

Synopsis

@arr | $arrH = $ssf->prefixes;

Returns

(Array of Strings) Liste der Block-Präfixe

Description

Liefere die Liste der Blockarten. Eine Blockart ist durch die Liste der gemeinsamen Feldpräfixe charakterisiert.

report() - Liefere Bericht über den Stream

Synopsis

$text = $ssf->report;

Returns

(String) Text des Berichts

Description

Erzeuge einen Bericht über den Stream und liefere dessen Text zurück.

try() - Liefere Wert

Synopsis

$val = $ssf->try($name,$i);
$val = $ssf->try($name);

Arguments

$name

Name des abzufragenden Feldes

$i (Default: 0)

Index im Falle mehrfachen Vorkommens des Feldes

Returns

(String) Wert

Description

Wie get(), nur dass der Zugriff auf ein nicht-existentes Feld nicht zu einer Exception führt, sondern undef geliefert wird.

type() - Typ des Stream

Synopsis

$type = $ssf->type;
$type = $class->type($file);

Arguments

$file

Stream-Datei

Returns

(String) Typ des Stream, z.B. SOS1890H

Description

Liefere den Typ der Streamdatei $ssf bzw. $file. Als Klassenmethode gerufen, wird der Typ effizient ermittelt, ohne den ganzen Stream einzulesen.

VERSION

1.230

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2025 Frank Seitz

LICENSE

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