Hallo,
also an dieser Stelle wird der Hashwert gesetzt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
my $parameterFile = "Main.cfg";
#
# parameter und funktion fuer das script einlesen
#
open(IN, $parameterFile) || die "Paramterfile $parameterFile nicht gefunden!";
@par = <IN>;
close(IN);
eval( join("\n", @par) );
#print $otaLogPath "\n";
# Hier wird Hash-Wert gesetzt
$Backup{"Backup"} = $backupPath;
$cfg{"otaLogPath"} = $otaLogPath;
$TRN{"TrnPath"} = $TrnPath;
my $ausgabe_Datei = "backupCheck.txt";
open(LogDatei, ">backupCheck.txt") or die "Kann Log Datei nicht anlegen : $!";
und hier wird der Hash in die Subroutine übergeben(komplette Subroutine):
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
sub runOtaCheck
{
# Flag, ob die Gesamtprüfung positiv ist.
# 0 = nein, d.h. In mindestens einem Fall war keine aktuelle OTA-Datei vorhanden.
# 1 = ja, d.h. es ware stets eine aktuelle OTA-Datei vorhanden.
my $runOTACheck = 1;
#Hashes-Wert wird übergeben und ausgelesen!
my $dir = $cfg{"otaLogPath"};
&printLogEntry ("INFO " , "OTA-Verzeichnischeck " . $dir . " beginnt! \n");
opendir(DIR,$dir) or die $!; # Verzeichnis "öffnen"
my @verzeichnisse = grep{-f $dir .'/'.$_}readdir(DIR);
my $bool = 0; # 0= Nein
for my $file(@verzeichnisse)
{
if(existsFile($dir.'/'.$file,1))
{
$bool = 1; # 1 = Ja
&printLogEntry ("DEBUG" , "OTA Dateien vorhanden" . $bool . " OTA-Dateien gefunden!");
&printLogEntry ("DEBUG" , $file . @verzeichnisse . " OTA-Dateien im Verzeichnis " . $dir . " vorhanden!");
}
}
if ($bool == 1) # 1 = Ja
{
&printLogEntry ("INFO " ,"Es besteht in dem Verzeichnis mind. eine aktuelle OTA-Dateien!");
}
else
{
&printLogEntry ("ERROR","Es besteht in dem Verzeichnis" . $dir . "keine aktuelle Backupdatei!");
$runOTACheck = 0;
}
## Hier wird nach Durchlauf der Kontrolle ein Statment abgegeben wenn keine aktuellen Dateien vorhanden sind!
unless($runOTACheck)
{
&printLogEntry ("ERROR","OTA-Dateiverzeichnis ist unvollständig !! Bitte prüfen!!!");
}
return $runOTACheck # Hier wird der ermittelte Rückgabewert aus der Subroutine übergeben!
} # End of: sub runOtaCheck
Hoffe das ist jetzt etwas verständlicher!
Gruss
leissi