Leser: 1
![]() |
|< 1 2 3 4 >| | ![]() |
35 Einträge, 4 Seiten |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
####################################
Was wollen sie tun:
--(1)TS-Serverhosting
--(2)CS-Serverhosting
--(3)NS-Serverhosting
--(4)Root-Serverhosting
--(5)Config. dieses Scriptes
Eingabe:1
...
TS-Hosting, sie haben die Wahl:
--(1)Teamspeak2Server Starten
--(2)Teamspeak2Server Stoppen
--(3)Teamspeak2Server Status
--(4)Teamspeak2Server Passwordabfrage
--(5)Teamspeak2Server Config
--(6)Zurück zum Hauptmenu
Eingabe:6
####################################
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
####################################
Was wollen sie tun:
--(1)TS-Serverhosting
--(2)CS-Serverhosting
--(3)NS-Serverhosting
--(4)Root-Serverhosting
--(5)Config. dieses Scriptes
Eingabe:1
...
TS-Hosting, sie haben die Wahl:
--(1)Teamspeak2Server Starten
--(2)Teamspeak2Server Stoppen
--(3)Teamspeak2Server Status
--(4)Teamspeak2Server Passwordabfrage
--(5)Teamspeak2Server Config
--(6)Zurück zum Hauptmenu
Eingabe:6
####################################
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#!/usr/bin/perl
use strict;
use warnings;
# Menuestruktur
my %Menus = (
main => {
title => 'Was wollen sie tun:',
content => [
[ 'TS-Serverhosting', [ \&menu, 'tshosting' ] ],
[ 'CS-Serverhosting', [ \&menu, 'cshosting' ] ],
[ 'NS-Serverhosting', [ \&menu, 'nshosting' ] ],
[ 'Root-Serverhosting', [ \&menu, 'roothosting' ] ],
[ 'Config. dieses Scriptes', [ \&scriptconfig ] ],
[ 'Ende', [] ],
],
},
tshosting => {
title => 'TS-Hosting, Sie haben die Wahl:',
content => [
[ 'Teamspeak2Server Starten', [ \&tsserver, 'start' ] ],
[ 'Teamspeak2Server Stoppen', [ \&tsserver, 'stop' ] ],
[ 'Teamspeak2Server Status', [ \&tsserver, 'status' ] ],
[ 'Teamspeak2Server Passwortabfrage', [ \&tsserver, 'password' ] ],
[ 'Teamspeak2Server Konfiguration', [ \&tsserver, 'config' ] ],
[ 'Zurück zum Hauptmenü', [] ],
],
},
cshosting => {
title => 'CS-Server, Sie haben die Wahl:',
content => [
[ 'CS-Server starten', [ \&anyserver, 'CS', 'start' ] ],
[ 'CS-Server stoppen', [ \&anyserver, 'CS', 'stop' ] ],
[ 'Zurück zum Hauptmenü', [] ],
],
},
nshosting => {
title => 'NS-Server, Sie haben die Wahl:',
content => [
[ 'NS-Server ...', [ \&anyserver, 'NS', '...' ] ],
[ 'Zurück zum Hauptmenü', [] ],
],
},
roothosting => {
title => 'Rootserver-Hosting:',
content => [
[ 'Rootserver ...', [ \&anyserver, 'Root', '...' ] ],
[ 'Zurück zum Hauptmenü', [] ],
],
},
);
# Starte Hauptmenue
menu('main');
exit;
########################################
# Subroutinen
########################################
sub menu {
my ($menuentry) = @_;
my $title = $Menus{$menuentry}{title};
my @content = @{$Menus{$menuentry}{content}};
while (1) {
my $eingabe;
while (1) {
# Titel ausgeben
print "$title\n";
# Menuepunkte ausgeben
for (1 .. @content) {
print "--($_) ", $content[$_-1][0], "\n";
}
print "Eingabe: ";
$eingabe = <STDIN>;
last if $eingabe =~ /^\d+$/ && $eingabe > 0 && $eingabe <= @content;
print "\n*** Ungültige Eingabe, bitte neu. ***\n\n";
}
# Ausgewaehlte Menuefunktion holen
my @menufunc = @{$content[$eingabe-1][1]};
if (@menufunc) {
# Funktion aufrufen, wenn angegeben
my $function = shift @menufunc;
print "\n";
$function->(@menufunc);
print "\n";
} else {
# ansonsten zurueck
return;
}
}
}
sub tsserver {
print "=== Die Funktion $_[0] im TSServer wurde aufgerufen ===\n";
}
sub anyserver {
print "=== Die Funktion $_[1] für den $_[0]-Server wurde aufgerufen ===\n";
}
sub scriptconfig {
print "=== Hier käme die Skript-Konfiguration ===\n";
}
########################################
QuoteHier macht es Sinn ein "goto" zu setzen ...
Quotedas ganze millionfach ineinander zu ver-if-schachteln würde zu stressig sein ... besonders dann wenn ich das Scipt denn erweitern will, sprich ähm nen StarCraft-Server oder sonst was zu installieren.
QuoteIch red ja nicht davon das goto ne schleife abschaffen soll ... aber sie macht 100% Sinn auch ohne nen C64!
![]() |
|< 1 2 3 4 >| | ![]() |
35 Einträge, 4 Seiten |