Frank Seitz
and 1 contributors

NAME

Prty::Pod - POD-Generator

BASE CLASS

Prty::Hash

DESCRIPTION

Ein Objekt der Klasse repräsentiert einen POD-Generator. Die Methoden der Klasse erzeugen die Konstrukte, aus denen ein POD-Dokument aufgebaut ist.

ATTRIBUTES

indentation => $n (Default: 4)

Einrücktiefe bei Code-Abschnitten und Listen.

METHODS

Konstruktor

new() - Konstruktor

Synopsis

    $pg = $class->new(@keyVal);

Description

Instanziiere einen POD-Generator und liefere eine Referenz auf dieses Objekt zurück.

Example

Generiere POD mit Einrückung 2:

    $pg = Prty::Pod->new(
        indentation=>2,
    );

Abschnitt-Kommandos

Anmerkung: Die Methoden ergänzen den generierten POD-Code um eine Leerzeile am Ende, so dass das nächste Konstrukt direkt angefügt werden kann. Diese Leezeile ist in den Beispielen nicht wiedergegeben.

encoding() - Deklaration des Encodings

Synopsis

    $pod = $pg->encoding($encoding);

Description

Erzeuge eine Deklaration des Encodings $encoding und liefere den resultierenden POD-Code zurück.

Example

    $pg->encoding('utf-8');

erzeugt

    =encoding utf-8

section() - Abschnitt

Synopsis

    $pod = $pg->section($level,$title,$body);

Description

Erzeuge einen Abschnitt der Tiefe $level mit dem Titel $title und dem Abschnitts-Körper $body und liefere den resultierenden POD-Code zurück.

Example

    $pg->section(1,'Test',"Dies ist\nein Test.");

erzeugt

    =head1 Test
    
    Dies ist
    ein Test.

code() - Code-Abschnitt

Synopsis

    $pod = $pg->code($text);

Description

Erzeuge einen Code-Abschnitt mit Text $text und liefere den resultierenden POD-Code zurück.

Example

    $pg->code("sub f {\n    return 1;\n}");

erzeugt

    $n Leerzeichen
    ----
        sub f {
            return 1;
        }

Der Code ist um $n Leerzeichen (den Wert des Objekt-Attributs "indentation") eingerückt.

bulletList() - Punkte-Liste

Synopsis

    $pod = $pg->bulletList(\@items);

Description

Erzeuge eine Punkte-Liste mit den Elementen @items und liefere den resultierenden POD-Code zurück.

Example

    $pg->bulletList(['Eins','Zwei']);

erzeugt

    =over 4
    
    =item *
    
    Eins
    
    =item *
    
    Zwei
    
    =back

orderedList() - Aufzählungs-Liste

Synopsis

    $pod = $pg->orderedList(\@items);

Description

Erzeuge eine Aufzählungs-Liste mit den Elementen @items und liefere den resultierenden POD-Code zurück.

Example

    $pg->orderedList(['Eins','Zwei']);

erzeugt

    =over 4
    
    =item 1.
    
    Eins
    
    =item 2.
    
    Zwei
    
    =back

definitionList() - Definitions-Liste

Synopsis

    $pod = $pg->definitionList(\@items);

Description

Erzeuge eine Definitions-Liste mit den Elementen @items und liefere den resultierenden POD-Code zurück.

Example

Die Aufrufe

    $pg->definitionList([A=>'Eins',B=>'Zwei']);

oder

    $pg->definitionList([['A','Eins'],['B','Zwei']]);

erzeugt

    =over 4
    
    =item A
    
    Eins
    
    =item B
    
    Zwei
    
    =back

cut() - Beende POD-Abschnitt

Synopsis

    $pod = $pg->cut;

Description

Erzeuge die Markierung, die einen POD-Abschnitt beendet, wenn danach Perl-Code folgen soll.

Example

    $pg->cut;

erzeugt

    =cut

Format-Codes

fmt() - Liefere Formatting Code (a.k.a. "Inline-Segment")

Synopsis

    $str = $this->fmt($type,$text);

Description

Erzeuge Inline-Segment vom Typ $type (B, I, C usw.) und liefere den resultierenden POD-Code dieses zurück.

Die Methode sorgt dafür, dass das Segment korrekt generiert wird, wenn in $text die Zeichen '<' oder '>' vorkommen.

Examples

Nomal:

    $pg->fmt('C','$x');
    =>
    C<$x>

Eingebettet >:

    $pg->fmt('C','$class->new()');
    =>
    C<< $class->new() >>

2x Eingebettet >:

    $pg->fmt('C','$x >> $y');
    =>
    C<<< $x >> $y >>>

AUTHOR

Frank Seitz, http://fseitz.de/