Frank Seitz
and 1 contributors

NAME

Prty::TextFile - Textdatei als Array von Zeilen

BASE CLASS

Prty::Object

DESCRIPTION

Ein Objekt der Klasse repräsentiert eine Textdatei als ein Array von Zeilen. Die Zeilen sind ihrerseits Objekte (per Default Objekte der Klasse Prty::TextFile::Line). Die Klasse stellt Methoden zur Manipulation des Arrays von Zeilen zur Verfügung.

METHODS

Konstruktor

new() - Konstruktor

Synopsis

    $doc = $class->new($file,@opt);
    $doc = $class->new(\$str,@opt);
    $doc = $class->new(\@lines,@opt);

Description

Instantiiere ein Dokument-Objekt aus Datei $file, aus Text $text oder aus den Zeilen @lines und liefere eine Referenz auf dieses Objekt zurück.

Options

-lineClass => $class (Default: 'Prty::TextFile::Line')

Klasse, auf die die Zeilen des Dokuments geblesst werden.

-lineContinuation => $type (Default: keine Zeilenfortsetzung)
'backslash'

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.

'whitespace'
    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.
-skip => $regex (Default: keiner)

Überlies Zeilen, die Regex $regex erfüllen.

Accessors

lines() - Liste der Zeilen

Synopsis

    @arr|$arr = $doc->lines(\@lines);

Description

Liefere die Liste der Zeilen der Textdatei. Im Skalarkontext liefere eine Referenz auf die Liste.

Methods

dump() - Erzeuge externe Repräsentation

Synopsis

    $str = $doc->dump($format);
    $str = $doc->dump;

Description

Erzeuge eine externe Dokumentrepräsentation in Format $format für das gesamte Dokument und liefere diese zurück.

Formate

Siehe $ln->dump()

removeEmptyLines() - Entferne Leerzeilen am Anfang

Synopsis

    $doc->removeEmptyLines;

Description

Entferne Leerzeilen am Anfang. Die Methode liefert keinen Wert zurück.

shiftLine() - Shifte erste Zeile

Synopsis

    $line = $doc->shiftLine;

Description

Entferne die erste Zeile aus dem Dokument und liefere diese zurück.

VERSION

1.108

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2017 Frank Seitz

LICENSE

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