Kommandozeileninterface - Beschreibung Pager.pm

JT::CLI::Pager - Das Modul bietet Methoden zum Anzeigen von Dateien oder Arrays, zum Navigieren zwischen den Seiten sowie zur Suche von Ausdrücken.

  use JT::CLI::Pager;

  # eine Datei anzeigen
  my $fpager = JT::CLI::Pager->new('/some/file/name');
  $fpager->page_size(48); # 24 per Default
  $fpager->line_size(60); # 75 per Default
  $fpager->run();

  # eine andere Datei anzeigen
  $fpager->file_name('/some/other/file/name');
  $fpager->run();

  # ein Array anzeigen
  my $apager = JT::CLI::Pager->new();
  my @lines = ('first', 'second', 'third', ...);
  $apager->run(\@lines);

Diese Dokumentation beschreibt JT::CLI::Pager in der Version 0.2.

Das Modul bietet ein objektorientiertes Interface, um Daten seitenweise anzuzeigen. Der Anwender kann in den Seiten vor- und rückwärts blättern, zum Anfang oder zum Ende der Daten oder zu einer bestimmten Seite springen. Eine Suche nach regulären Ausdrücken ist vor- und rückwärts möglich. Als Datenquelle können Dateien oder Arrays dienen. Dateien werden bei der Ausgabe entsprechend einer definierten Zeilenbreite formatiert.

Es werden keine Terminal-spezifischen Eigenschaften benutzt. Der Pager sollte also auch bei Verbindungen via Telnet oder SSH problemlos arbeiten. Zur Steuerung der Anzeige werden ausschließlich Tasten auf der normalen alphanumerischen Tastatur benutzt.

new([fileName])
Erzeugt ein neues Pager-Objekt. Wenn ein Dateiname angegeben wird, dann wird diese Datei bei Aufruf der run([arrayRef])-Methode angezeigt. Der Dateiname bleibt gültig, bis eine andere Datei definiert wird oder bis ein Array bei der Anzeige übergeben wird.

Bei der Initialisierung wird die Seitenhöhe auf 24 Zeilen und die Zeilenbreite auf 75 Zeichen gesetzt.

file_name([fileName])
Definiert eine Datei, die angezeigt werden soll. Gibt den Dateinamen oder undef zurück, wenn kein Dateiname gesetzt ist oder wenn die Datei nicht existiert oder nicht lesbar ist.

page_size([pageSize])
Setzt die Seitenhöhe (Zeilen je Seite) auf den angegebenen Wert. Der Wert muss ein Integer größer als Null sein. Die aktuelle Seitenhöhe wird zurückgegeben.

line_size([lineSize])
Setzt die Zeilenbreite (Anzahl der Zeichen je Zeile) auf den angegebenen Wert. Dieser muss ein Integer mit einem Wert von mindestens 40 sein. Die aktuelle Zeilenbreite wird zurückgegeben. Die Zeilenbreite wird ignoriert, wenn die run([arrayRef])-Methode mit einem Array als Parameter aufgerufen wird. In diesem Fall ist der Aufrufer für die Formatierung der Zeilen verantwortlich.

label([aLabel])
Definiert eine Überschrift, die am Kopf jeder Seite angezeigt wird. Gibt das Label zurück oder undef, wenn kein Label gesetzt ist. Wenn kein Label definiert ist, wird der Dateiname bzw. "--UNDEF--" für Arrays angezeigt.

run([arrayRef])
Startet die Anzeige der definierten Datei oder des übergebenen Arrays. Wenn keine Datei definiert und kein Array angegeben ist, beendet sich das Modul mit einem Fehler.

Am Kopf jeder Seite wird eine Überschrift wie oben beschrieben angezeigt. Am Seitenende wird eine Zeile ausgegeben, die Informationen zur aktuellen Seitennummer und den möglichen Steuertasten zum Navigieren und zur Suche enthält.

Die Zeilen werden entsprechend des line_size-Werts formatiert, wenn eine Datei angezeigt wird. Die page_size-Eigenschaft bestimmt die Anzahl der Zeilen, die auf jeder Seite angezeigt werden.

Die folgenden Tasten sind für die Steuerung des Pagers vorgesehen:

+
Eine Seite vorwärts blättern

-
Eine Seite zurück blättern

0
Zur ersten Seite gehen

$
Zur letzten Seite gehen

page number
Zur angegebenen Seite gehen

/pattern
Nach dem Suchmuster vorwärts suchen, weitere /-Eingaben ohne Pattern suchen weitere Vorkommen des Ausdrucks.

?pattern
Nach dem Suchmuster rückwärts suchen, weitere ?-Eingaben ohne Pattern suchen weitere Vorkommen des Ausdrucks.

q
Ende

Keine bekannten Fehler. Wenn Ihr einen findet, dann schickt mir bitte eine detaillierte Fehlermeldung.