Thread Problem mit der Verwendung von undef (15 answers)
Opened by crojay at 2011-04-20 11:17

crojay
 2011-04-20 15:13
#147909 #147909
User since
2011-03-08
81 Artikel
BenutzerIn
[default_avatar]
Hi,

ja die Fehlermeldungen waren selbsproduziert aufgrund von unwissen, mein Fehler.

Ich habe es nun nochmals durchgearbeitet und dank deiner und auch der anderen Erläuterungen habe ich es kapiert. Ich werde mir noch die erwähnten Ref-Tuts anschauen.


Ich habe mir nicht, wie von dir vorgeschlagen, die "fertige" Lösung genommen sondern mein Code angepasst. Ich habe nun eine Methode die Wert aus einem Hash in eine File schreibt und eine Sub die eine File in einen Hash liest.

Dankeschön und ich muss sagen das ich wirklich kein schneller antwortendes Forum gesehen habe! Finde ich gut. Hoffentlich kann ich mein Wissen so erweitern das ich auch mal als Helfer unterwegs sein kann.

Falls es wen interessiert hier mein code

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
	my $propertyHashRef = &readFileIntoHash($globalFormPageCfgFile);
if (defined $propertyHashRef){
print "\n%property is defined \n it contains " . keys(%$propertyHashRef) ."\n" ;
$propertyHashRef->{pageCount} = $pageSizeForForm;
}
else{
print "\nhash is not defined\n";
$propertyHashRef->{pageCount} = $pageSizeForForm;
}
&writeHashToFile($propertyHashRef,$globalFormPageCfgFile);
return $pageSizeForForm;






#####################################################################################################################
###Falls die übergebene Datei existiert, werden die Werte in einen Hash gelesen, sofern sie dem format
###KEY=VALUE entsprechen
###
###Return:Referenz auf den Hash oder nichts
#####################################################################################################################
sub readFileIntoHash{
my $inputFile = $_[0];
print "using input file $inputFile\n" ;
my %exportHash;
if (-e $inputFile){
open (HASHFILE,$inputFile) || die "file $inputFile konnte nicht geoeffnet werden\n";
%exportHash = map { chomp; split /\s*=\s*/, $_, 2; } <HASHFILE>;
close(HASHFILE);
return \%exportHash;
}
else{
print "file $inputFile does not exist, returning undef\n";
return;
}
}

#####################################################################################################################
###Erwartet als Inputparameter eine HashRef und ein Dateinamen
###
###Schreibt den Inhalt des HASH in die Datei im Format
###KEY=VALUE
#####################################################################################################################
sub writeHashToFile{
my %inputHash = %{$_[0]};
my $outputFile = $_[1];
print "writing into file $outputFile\n";
open(OUTFILE, ">$outputFile") || die "file $outputFile konnte nicht geoeffnet werden";
while(my @array = each( %inputHash )){
print OUTFILE "$array[0] = $array[1]\n";
}
close(OUTFILE);

}





View full thread Problem mit der Verwendung von undef