Thread Probleme mit GetOpt::Long (19 answers)
Opened by YAPD at 2019-06-23 15:58

YAPD
 2019-06-23 17:32
#190128 #190128
User since
2015-09-20
146 Artikel
BenutzerIn

user image
Hallo Thomas,

vielen Dank für deine Antwort. Ich habe in der Zeit, seit ich den
Artikel geschrieben habe, weiter an dem Code gearbeitet. Das ist
das bisherige Ergebnis :

Code: (dl )
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
use Getopt::Long qw( GetOptions );
Getopt::Long::Configure( );

my $Identifier_Options_Hilfe;
my $Identifier_Options_NoSSL;
my $Identifier_Options_SQL;
my $Identifier_Options_Verify;

my $Identifier_Options_Module;

# ----------------------------------------------------------------------------------------------------------------------------

use Getopt::Long qw(GetOptions);
Getopt::Long::Configure( qw( posix_default no_ignore_case ) );

GetOptions( 'Help' => \$Identifier_Options_Hilfe ,
'Module:s' => \$Identifier_Options_Module ,
'NoSSL:s' => \$Identifier_Options_NoSSL ,
'SQL:s' => \$Identifier_Options_SQL ,
'Verify:s' => \$Identifier_Options_Verify ,

) or print "Falscher Parameter";

if ( defined $Identifier_Options_Hilfe )
{
print "\n";
print "Parameter fuer die Ausfuehrung des Servers in der Konsole :" , "\n";
print "\n";
print "-Help Einblendung dieses Hilfe - Oberflaeche" , "\n";
print "-NoSSL Aktivierung der SSL - Verschluesselung fuer die Verbindung" , "\n";
print " Moegliche Schalter : 0 ( AUS ) oder 1 ( EIN )" , "\n";
print "\n";
print " WARNUNG : Keine Empfehlung fuer unsichere Verbindung" , "\n";
print "\n";
print "-SQL Re - Initialisierung der SQL - DB" , "\n";
print "-Verify Uebepruefung aller notw. Module ( ohne Ausfuehrung )" , "\n";
print "\n";
print " Moegliche Schalter : o Interfaces" , "\n";
print " o Paths" , "\n";
print " o SQL" , "\n";
print " o SSL" , "\n";

} elsif ( defined $Identifier_Options_Hilfe )
{
print "Fehler bei der Erkennung der Parameter : Fehler - Code 1002" , "\n";
}

# ----------------------------------------------------------------------------------------------------------------------------

if ( defined( $Identifier_Options_NoSSL ) )
{
if( $Identifier_Options_NoSSL eq "Yes" ) { print "Aktivierung der SSL - Verschluesselung !" , "\n"; }
if( $Identifier_Options_NoSSL eq "No" ) { print "Deaktivierung der SSL - Verschluesselung !" , "\n"; }

if( $Identifier_Options_NoSSL ne "Yes" && $Identifier_Options_NoSSL ne "No" ) { print "Falscher Parameter !" , "\n"; }

} elsif ( defined $Identifier_Options_NoSSL )
{
print "\n";
print "Fehler bei der Erkennung der Parameter : Fehler - Code 1003" , "\n";
}

# ----------------------------------------------------------------------------------------------------------------------------

if ( defined( $Identifier_Options_Verify ) )
{
if( $Identifier_Options_Verify eq "Paths" ) { my $Pruefung_Module_Paths = "Paths"; &Verify_Modules( $Pruefung_Module_Paths ); }
if( $Identifier_Options_Verify eq "SQL" ) { my $Pruefung_Module_SQL = "SQL"; &Verify_Modules( $Pruefung_Module_SQL ); }
if( $Identifier_Options_Verify eq "SSL" ) { my $Pruefung_Module_SSH = "SSH"; &Verify_Modules( $Pruefung_Module_SSH ); }

if( $Identifier_Options_Verify ne "Paths" && $Identifier_Options_Verify ne "SQL" && $Identifier_Options_Verify ne "SSL" ) { print "Falscher Parameter !" , "\n"; }

} elsif ( defined $Identifier_Options_Verify )
{
print "\n";
print "Fehler bei der Erkennung der Parameter : Fehler - Code 1004" , "\n";
}

# ----------------------------------------------------------------------------------------------------------------------------

sub Verify_Modules {

my $Identifizierung_Module_Pruefung = $_[ 0 ];

if( $Identifizierung_Module_Pruefung eq "Paths" )
{
print "Prueefung der Verzeichnisse des Servers !" , "\n";
}

if( $Identifizierung_Module_Pruefung eq "SQL" )
{
print "Prueefung der SQL - Verbindung & der DB !" , "\n";
}

if( $Identifizierung_Module_Pruefung eq "SSH" )
{
print "Prueefung der SSH - Verbindung !" , "\n";
}

}
# ----------------------------------------------------------------------------------------------------------------------------


Ich hoffe, dass du dir jetzt ein besseres Bild machen kannst.

@Linuxer : Das mit dem eval wirft bei mir immer einen Fehler, kannst du mir die Syntax geben, die ich um die GetOpt Funktion packen muss ?

Viele Grüße
YAPD
Last edited: 2019-06-23 17:35:26 +0200 (CEST)
Yet Another Perl Developer

View full thread Probleme mit GetOpt::Long