init III
This commit is contained in:
75
Perl arp cache per snmp durchsuchen/new/menu.pm
Normal file
75
Perl arp cache per snmp durchsuchen/new/menu.pm
Normal file
@@ -0,0 +1,75 @@
|
||||
#!/bin/perl
|
||||
|
||||
# Key: Shortcut im Menü
|
||||
# Value: Array aus Menüpunkttext und Aktion
|
||||
# Aktion kann weiterer Menüpunkt sein, oder Funktion die aufgerufen werden soll
|
||||
# Für Menüpunkt muss ein Hash mit diesem Namen angelegt werden, der ein weiteres
|
||||
# Menü beschreibt.
|
||||
# Für Funktion muss das erste Zeichen eine Raute (#) sein. Eine Funktion mit dem
|
||||
# entspr. Namen muss angelegt sein.
|
||||
# Bei jedem Menüpunkt kann eine Beschreibung angegeben werden, dazu ist bei dem entspr.
|
||||
# Menühash ein Key 'desc' mitanzulegen. Der Value ist ein Skalar der den Menünamen enthält.
|
||||
|
||||
|
||||
# Beispielkonfig mit Aufruf
|
||||
#$haupt{'1'} = ['Adressen', 'adressen'];
|
||||
#$haupt{'2'} = ['Sagem', 'sagem'];
|
||||
#$haupt{'3'} = ['Nokia', 'nokia'];
|
||||
#$haupt{'e'} = ['Ende', '#bye'];
|
||||
#$haupt{'desc'} = "Hauptmenü";
|
||||
|
||||
#$adressen{'1'} = ['Suchen', '#adr_suchen'];
|
||||
#$adressen{'z'} = ['Zurück', 'haupt'];
|
||||
#$adressen{'desc'} = "Adressen";
|
||||
|
||||
#$sagem{'z'} = ['Zurück', 'haupt'];
|
||||
#$sagem{'desc'} = "Sagem";
|
||||
|
||||
#$nokia{'z'} = ['Zurück', 'haupt'];
|
||||
#$nokia{'desc'} = "Nokia";
|
||||
|
||||
#menue("haupt");
|
||||
|
||||
package menu;
|
||||
|
||||
use Exporter;
|
||||
use Win32::Console::ANSI;
|
||||
use Term::ANSIScreen qw/:color :cursor :screen/;
|
||||
|
||||
@ISA = ('Exporter');
|
||||
@EXPORT = (@EXPORT,'show');
|
||||
|
||||
sub show {
|
||||
no strict;
|
||||
($me) = @_;
|
||||
%menu = %$me;
|
||||
do {
|
||||
print "\e[2J";
|
||||
print "----- $menu{'desc'} -----\n\n";
|
||||
foreach (sort keys %menu) {
|
||||
if ($_ eq 'desc') { next; }
|
||||
print " ";
|
||||
print Term::ANSIScreen::colored(" $_",'black on white');
|
||||
print " $menu{$_}->[0]\n\n";
|
||||
}
|
||||
print "\nAuswahl:";
|
||||
$auswahl = <STDIN>;
|
||||
chomp $auswahl;
|
||||
$ok=0;
|
||||
foreach (sort keys %menu) {
|
||||
if ("$_" eq "$auswahl") {
|
||||
$ok = 1;
|
||||
}
|
||||
}
|
||||
} while (!$ok);
|
||||
$para = "$menu{$auswahl}->[1]";
|
||||
if ($para =~ /#/) {
|
||||
$para =~ s/#//;#,$para;
|
||||
$fkt="main::$para";
|
||||
&$fkt;
|
||||
}
|
||||
else {
|
||||
# show(\{%$para});
|
||||
}
|
||||
}
|
||||
1;
|
||||
Reference in New Issue
Block a user