Quiq::LineProcessor - Verarbeite Datei als Array von Zeilen
Quiq::Hash
Ein Objekt der Klasse repräsentiert eine Datei als ein Array von Zeilen. Die Zeilen sind ihrerseits Objekte (per Default Objekte der Klasse Quiq::LineProcessor::Line). Die Klasse stellt Methoden zur Manipulation des Arrays von Zeilen zur Verfügung.
Für eine Fehlerbehandlung können die Methoden $par->input() und $line->number() genutzt werden:
$class->throw( 'SDOC-00001: K\{} and k\{} are not supported anymore', Input => ''.$par->input, Line => $line->number, );
produziert (z.B.)
Exception: SDOC-00001: K{} and k{} is not supported anymore Input: /tmp/test.sdoc Line: 20 Stacktrace: ...
$par = $class->new($file,@opt); $par = $class->new(\$str,@opt); $par = $class->new(\@lines,@opt);
Klasse, auf die die Zeilen des Dokuments geblesst werden.
Art der Zeilenfortsetzung. Mögliche Werte:
Keine Zeilenfortsetzung.
Endet eine Zeile mit einem Backslash, entferne Whitespace am Anfang der Folgezeile und füge den Rest zur Zeile hinzu.
Dies kann für eine Zeile unterdrückt werden, indem der Backslash am Ende der Zeile durch einen davorgestellten Backslash maskiert wird. In dem Fall wird statt einer Fortsetzung der Zeile der maskierende Backslash entfernt.
Beginnt eine Zeile mit einem oder mehreren Leerzeichen oder TABs, wird sie zur vorhergehenden Zeile hinzugefügt. Die Leerzeichen und TABs am Zeilenanfang werden entfernt. Die Teile werden mit \n als Trenner zusammengefügt.
Überlies Zeilen, die Regex $regex erfüllen.
Instantiiere ein Dokument-Objekt aus Datei $file, aus Text $text oder aus den Zeilen @lines und liefere eine Referenz auf dieses Objekt zurück.
$input = $par->input;
Liefere die Bezeichnung der Eingabequelle. Dies kann ein Dateiname oder eine stringifizierte String- oder Arrayreferenz sein.
$lineClass = $par->lineClass;
Liefere die Zeilen-Klasse.
@lines | $lineA = $par->lines(\@lines);
Liefere die Liste der Zeilen der Datei. Im Skalarkontext liefere eine Referenz auf die Liste.
$line = $par->shiftLine;
Entferne die erste Zeile aus dem Dokument und liefere diese zurück.
$line = $par->shiftLineIfEq($str);
Entferne die erste Zeile aus dem Dokument und liefere diese zurück, sofern ihr Inhalt eq $str ist.
$par->removeEmptyLines;
Entferne Leerzeilen am Anfang. Die Methode liefert keinen Wert zurück.
$str = $par->dump($format); $str = $par->dump;
Erzeuge eine externe Dokumentrepräsentation in Format $format für das gesamte Dokument und liefere diese zurück.
Formate
Siehe $ln->dump()
1.215
Frank Seitz, http://fseitz.de/
Copyright (C) 2024 Frank Seitz
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Quiq, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Quiq
CPAN shell
perl -MCPAN -e shell install Quiq
For more information on module installation, please visit the detailed CPAN module installation guide.