Wie pro Thema: Was sind die Zeichen, die in Hash-Tasten verwendet werden können, oder, wenn es kürzer ist, welche können nicht verwendet werden?
Gibt es auch Probleme bei der Verwendung langer Hash-Schlüssel (wie vollständige Pfadnamen)?
Siehe Wie funktioniert das wirklich? für eine Diskussion zu diesem Thema. Kurz gesagt, solange Sie den Schlüssel zitieren (nicht interpolierend q {}), können Sie die gewünschten Zeichen verwenden.
Was Danas Antwort angeht, nein, es wird nicht länger dauern, bis längere Schlüssel gefunden werden: es wird unendlich viel länger dauern, den Schlüssel zu hashen, aber das ist alles.
Als Referenz ist dies die Hash-Funktion in Perl 5.10.0:
%Vor%Ein Punkt, der noch nicht angesprochen wurde, ist, dass Sie eine beliebige gültige Zeichenfolge als Hash-Schlüssel verwenden können. Wenn Sie versuchen, etwas anderes als eine Zeichenkette zu verwenden, wird es automatisch mit einem String versehen, was bedeutet, dass z. B.
%Vor%verwendet die Zeichenfolge "ARRAY (0xdeadbeef)" (oder eine andere Adresse) als Hash-Schlüssel, nicht die tatsächliche Array-Referenz.
Sie können jedes Zeichen in einem Hash-Schlüssel verwenden --- ein Hash-Schlüssel ist nur eine Zeichenfolge. Aber für einige Zeichen müssen Sie die Zeichenfolge angeben. Wenn Sie Zweifel haben, setzen Sie einfach die Anführungszeichen um den Schlüssel.
%Vor%Es gibt kein spezielles Problem mit langen Schlüsseln, die Sie noch nicht mit langen Strings haben.