Hey,
ich habe folgenden Code, in dem ich mit
if ( -e ! "$Self->{Home}/RELEASE" )
{
print STDERR "Error : Fehler bei der Initialisierung des Release - Files ( $Self->{Home}/RELEASE ) !" , "\n";
die;
}
prüfe, ob die Datei "RELEASE" existiert. Entferne ich die Datei physisch und führe den Code aus, erscheint immer die Meldung
"STDERR "Fehler bei der Verarbeitung des Release - Files ( Keine Berechtigung auf Datei $Self->{Home}/RELEASE ) !.\n";".
Nach meinem Verständnis sollte aber, wenn ich die Datei "RELEASE" entferne, die Meldung
"print STDERR "Error : Fehler bei der Initialisierung des Release - Files ( $Self->{Home}/RELEASE ) !" , "\n";
erscheinen.
Entferne ich das Ausrufezeichen !, erscheint die Initialisierungsmeldung, weil die Datei existiert. Wegen der 2. Meldung hab
ich den Restcode noch angehängt.
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
if ( -e ! "$Self->{Home}/RELEASE" )
{
print STDERR "Error : Fehler bei der Initialisierung des Release - Files ( $Self->{Home}/RELEASE ) !" , "\n";
die;
}
if ( open( my $Product, '<', "$Self->{Home}/RELEASE" ) )
{
while ( my $Line = <$Product> )
{
if ( $Line !~ /^#/ )
{
if ( $Line =~ /^PRODUCT\s{0,2}=\s{0,2}(.*)\s{0,2}$/i )
{
$Self -> { Product } = $1;
}
elsif ( $Line =~ /^VERSION\s{0,2}=\s{0,2}(.*)\s{0,2}$/i )
{
$Self -> { Version } = $1;
}
}
}
close( $Product );
} else { print STDERR "Fehler bei der Verarbeitung des Release - Files ( Keine Berechtigung auf Datei $Self->{Home}/RELEASE ) !.\n";
die;
}
Könnt ihr mir sagen, warum der Schalter "-e !" nicht funktioniert, "-e" aber schon ??
Der Pfad in "$Self -> { Home }" ist vorhanden & richtig. Wenn ich ein
Print auf die Variablen { Version } & { Product } mache, kriege ich die
Ergebnisse aus der Datei.
Vielen Dank für die Hilfe.
Viele Grüße
YAPD
Last edited: 2019-05-28 21:23:51 +0200 (CEST)
Yet Another Perl Developer