Thread Zulässigkeit bei Arrays (6 answers)
Opened by jan999 at 2009-11-27 18:20

Dubu
 2009-11-27 18:43
#128672 #128672
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
2009-11-27T17:20:46 jan999
my %g_namen = ();

my $g_namen('Musterstrasse') = $ID;

Das zweite "my" muss weg (du hast %g_namen ja schon vorher deklariert), und es müssen in der unteren Zeile geschwungene Klammern statt runde stehen. Außerdem ist die Zuweisung der leeren Liste bei der Deklaration überflüssig.
Code (perl): (dl )
1
2
3
my %g_namen;

$g_namen{'Musterstrasse'} = $ID;

Und ja, der String für den Hashkey kann beliebigen Text enthalten.

Im obigen Fall könntest du sogar die Anführungszeichen weglassen, weil "Musterstrasse" nur ASCII-Buchstaben enthält
Code (perl): (dl )
$g_namen{Musterstrasse} = $ID;

aber das wäre bei Straßennamen ja eher die Ausnahme.
Regel: Wenn du den String in den geschwungenen Klammern als Variablennamen (Identifier) benutzen könntest, musst du ihn als einfachen Hashkey nicht quoten.

Wahrscheinlich wirst du im Programm aber ohnehin eher eine (skalare) Variable dort stehen haben, dann muss ohnehin nichts gequotet werden:
Code (perl): (dl )
$g_namen{$strasse} = $ID;

View full thread Zulässigkeit bei Arrays