Open Source im professionellen Einsatz
Linux-Magazin 02/2014
407

Mehr-Gänge-Menü

In manchem Kommandozeilen-Utility fordert dessen Programmierer vom Benutzer etwas komplexere Eingaben ab. Für Perl offeriert CPAN etliche Textterminal-Menüsimulationen. In der Liste der neuen Modulversionen sticht Term::Menus [7] heraus, denn es bietet eine komfortabel programmierbare Schnittstelle für Fälle an, bei denen der User einen Eintrag aus umfangreichen Listen auswählen muss.

Listing 4 zeigt als Beispiel ein Skript, bei dem der Benutzer eine Datei aus einem Homeverzeichnis auswählen soll. Jahrelang unterlassene Aufräumarbeiten haben offensichtlich dazu geführt, dass dort 73 Dateien liegen. Die passen im Ganzen auf keine Terminalseite. Wie Abbildung 5 zeigt, stellt Text::Menus jeweils zehn Dateien dar und gestattet dem User mit [D] runter- und mit [U] die Liste heraufzuscrollen.

Durch Eingabe einer Zahl wählt der User schließlich einen Eintrag aus. Der landet im Skript »menu« dann als Rückgabeparameter der Funktion »pick()« in der Variablen »$selection« . Term::Menus bietet noch andere Funktionen, etwa Mehrfachauswahlen oder Untermenüs. Alles sehr praktisch, wenn man bedenkt, dass Skriptprogrammierer dafür nur ein paar Zeilen Code aufwenden müssen.

Abbildung 5: Das Navigieren in sehr lange Dateilisten, hier im Homeverzeichnis des Perlmeisters Schilli, verlangt nach kreativen Mitteln.

Listing 4

menu

1 #!/usr/local/bin/perl -w
2 use strict;
3 use Term::Menus;
4
5 my @files = sort glob "~/*";
6 my $banner="  Please pick an file:";
7 my $selection = pick( \@files, $banner);
8 print "You chose '$selection'\n";

Nuggets finden

Das Schlaglicht auf die CPAN-Recent-Liste einiger Tage zeigt, dass es sich durchaus lohnt, hier öfter nach Goldklümpchen zu sieben. Neben routinemäßigen Wartungsreleases gängiger Module glitzern am Boden der Pfanne immer wieder gute Ideen für mehr Programmier-Effizienz oder Unterhaltsames aus der Welt der sehr lebendigen Perl-Community.

"Mitschaffende sucht Zarathustra, Miterntende und Mitfeiernde sucht Zarathustra: Was hat er mit Herden und Hirten und Leichnamen zu schaffen!" (Friedrich Nietzsche)

Der Autor

Michael Schilli arbeitet als Software-Engineer bei Yahoo in Sunnyvale, Kalifornien. In seiner seit 1997 laufenden Kolumne forscht er jeden Monat nach praktischen Anwendungen der Skriptsprache Perl. Unter mailto:mschilli@perlmeister.com beantwortet er gerne Fragen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Perl-Snapshot

    Wer in seiner Lieblingssprache eine Webapplikation zusammenklopfen und kostenlos veröffentlichen möchte, findet bei Heroku viel Komfort. Sogar ein eigener Webserver darf als Sprungbrett dienen.

  • Perl-Snapshot

    Wer viel in der Shell arbeitet und navigiert, nach Textstücken sucht oder CPAN-Module installiert, wird die hier vorgestellten Helferskripte bestimmt schnell schätzen lernen.

  • CPAN als Landkarte und Film

    Die "Map of CPAN" bildet das Comprehensive Perl Archive Network als Landkarte ab. Nun gesellt sich noch ein kurzer Animationsfilm dazu.

  • Umzugshelfer

    Der Webdienst Github erleichtert es Programmierern, einen Beitrag zu Open-Source-Projekten zu leisten, denn er vereinfacht und beschleunigt die Kommunikation zwischen Projekt-Maintainern und willigen Mitwirkenden radikal. Perl-Modulen ebnet ein Skript den Weg von CVS zu Git.

  • CPAN wird 20

    Im Comprehensive Perl Archive Network (CPAN) stecken aktuell rund 154 000 Perl-Module. Nun feiert das Projekt den 20. Jahrestag des ersten CPAN-Uploads.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.