Thread Hashvergleich klappt nicht *war Anfänger Frage (10 answers)
Opened by der_thomas at 2013-09-22 18:11

Raubtier
 2013-09-22 18:46
#170500 #170500
User since
2012-05-04
1070 Artikel
BenutzerIn
[default_avatar]
Ein Stringvergleich in Perl geht mit eq, mit == vergleichst du immer Zahlen (und wenn es doch Strings sind, dann werden die erst zu Zahlen gewandelt).

Außerdem:
- benutze use warnings; - dann hättest du da eine Warnung bekommen
- benutze auch use strict;
- for ($_= 0; $_<=$#liste;$_+=2){ sieht nicht gut aus. $_ verwendet man dann, wenn es eben etwas implizies sein soll, wenn du eine for-Schleife so schreibst, solltest du besser eine normale Variable nehmen. Wahrscheinlich würde ich eher etwas machen wie while(!eof $FH){my $key=<$FH>; my $value=<$FH>; $hash{$key}=$value;} - außerdem muss dir klar sein, dass so die Zeilenumbrüche immer noch mit im Key drin stehen.
- kein Grund, die globale Variable mit our zu deklarieren. Wenn du so eine Variable im Programm wirklich willst, reicht hier ein my auch. Ich würde aber eher etwas machen wie
Code: (dl )
1
2
my $daten = datenladen();
datensuchen($daten);

Last edited: 2013-09-22 18:52:41 +0200 (CEST)

View full thread Hashvergleich klappt nicht *war Anfänger Frage