Moduł Text::Wrap
Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowaSpis treści
O czym to jest
Text::Wrap to moduł do formatowania akapitów. Udostępnia on parę metod, dosłownie parę.
Metody
Text::Wrap::wrap() Formatuje jednorazowo jeden akapit, dzieli wiersze na granicy wyrazów. Jako argumenty podajemy:
$initial_tab - prefiks dla pierwszej linii akapitu
$subsequent_tab - prefiks dla reszty linii
@tekst - tekst do formatowania.
Text::Wrap::fill() Działa jak wrap() z tą różnicą, że formatuje kilka paragrafów na koncu zwracając je połączone w jeden tekst,
aby zasygnalizować metodzie gdzie chcemy rozpocząć nowy akapit, należy w tym miejscu umieścić "\n" i zaraz po nim biały znak.
Przykłady
use Text::Wrap;
$tab[0]="Tekst przeznaczony do formatowania, przy użyciu modułu Text::Wrap";
$tab[1]=" 2 Tekst przeznaczony do formatowania, przy użyciu modułu Text::Wrap";
$Text::Wrap::columns=20;
print wrap(" ","", @tab);
Rezultat
  Tekst
przeznaczony do
formatowania,przy
użyciu modułu
Text::Wrap 2
Tekst przeznaczony
do formatowania,
przy użyciu modułu
Text::Wrap
use Text::Wrap;
$tab[0]="Tekst przeznaczony do formatowania, przy użyciu modułu Text::Wrap";
$tab[1]=" 2 Tekst przeznaczony do formatowania, przy użyciu modułu Text::Wrap";
$Text::Wrap::columns=20;
print fill(" ","", @tab);
Dzięki wstawieniu spacji na początku drugiego elementu tablicy, uzyskamy w tym miejscu akapit (wrap() nie zwróci na to uwagii).
Jeśli dodatkowo w dowolnym miejscu tekstu wstawimy np. "\n " (\n+), to fill zlamie tekst w tym miejscu.
Rezultat
  Tekst
przeznaczony do
formatowania,przy
użyciu modułu
Text::Wrap
  2 Tekst
przeznaczony do
formatowania, przy
użyciu modułu
Text::Wrap
W Text::Wrap działanie metod modyfikują zmienne takie jak:
-break = ':' teraz dwukropek będzie oznaczał koniec słowa w tekście
-columns = 20 spowoduje podzial tekstu na linie o długości co najwyżej 20 znaków
-separator = '|' spowoduje separowanie wierszy znaczkiem '|' a nie \n
Jest jeszcze jedna zmienna $huge, której działanie określa działanie wrap(), fill() dla słów dłuższych niż, wartość zmiennej columns.
Przykład
use Text::Wrap qw(wrap, $columns, $huge);
$columns=20;
$huge='wrap'; # wszystko po staremu po 20 znakach dlugie slowo zostanie złamane
$huge='die'; # jeśli słowo będzie dłuższe niż 20 znaków wywołane zostanie die
$huge='overflow'; # jeśli słowo będzie dłuższe niż 20 znaków, mimo wszystko zostanie wypisane w jednej linii
Autor modułu
David Muir Sharnoff with help from Tim Pierce and many many others
Gdzie na Cpan'ie: http://search.cpan.org/~muir/Text-Tabs+Wrap-2006.1117/lib/Text/Wrap.pm
Autor opracowania
Autor: L.L.
Email: llisak@manta.univ.gda.pl