Thread eine Frage zu objektorientertem Perl (149 answers)
Opened by ASDS at 2007-04-10 15:14

ASDS
 2007-04-12 11:58
#75816 #75816
User since
2007-01-29
115 Artikel
BenutzerIn
[default_avatar]
Vielen Dank für eure HIlfe

Was sagt ihr dazu:
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
my @liste1 = ();
my @liste2 = (4, 28, 9, 100, 12, 84, 10, 11);

new();

sub knot { return ( { 'zahl' => $[0],
'linksweg' => undef,
'rechtsweg' => undef } );

sub new{
############################
#Eingabe der ersten 10 Zahlen
############################
....
######################
# Erstellen des Trees
######################

my $ref_liste1 = shift;
my $zahl = shift(@$ref_liste1); #Wurzel wird mit erster Zahl der Liste1 erstellt.
my $ref_wurzel = knot($zahl);

for $zahl (@$ref_liste1) {
my $refvalue = $ref_wurzel;

if ($zahl)
{
while {
############################
#Beginn des Vergleichs

if($zahl < $$refvalue{'zahl'}) {
if(defined($$refvalue{'linksweg'}))
{
$refvalue = $$refvalue{'linksweg'};
}
else {
$$refvalue{'linksweg'} = knot($zahl);
last; #Ende
}
}
#######
#wenns Links nicht mehr weiter geht, geh rechts weiter
else {
if(defined($$refvalue{'rechtsweg'}))
{
$refvalue = $$refvalue{'rechtsweg'};
}
else {
$$refvalue{'rechtsweg'} = knot($zahl);
last;
}
}

}
return($ref wurzel);
}
}

Leider hat sich auch hier schon wieder ein Fehler eingeschlichten. Irgendwas passt ihm hier nicht:
Code: (dl )
'zahl' => $[0],
==> er schreibt Number Found where Operator expected.
Was hab ichn hier schon wieder für nen Mist gebaut

und gibt es eine andere möglichkeit außer den salat von While und else

View full thread eine Frage zu objektorientertem Perl