Mam klasy z metodą zwracającą mieszania. Normalnie, chciałbym uzyskać wynik tak:Jak usunąć dereferencję skrótu, który został zwrócony z metody klasy?
%resp = $myclass->sub($foo);
a następnie członków dostępu zwróconego hash tak:
$resp{key}{subkey};
w przypadku 2d hash.
I rysunek musi być jakiś sposób, aby połączyć to w jedną, eleganckiej linii, coś takiego:
$myclass->sub($foo)->{key}{subkey}
To oczywiście nie jest dereferencjonowane właściwie jak Perl zwraca to podczas próby uruchomienia kodu:
Can't use string ("1/8") as a HASH ref
próbując losowe sekwencje dereferencji, patrząc "References quick reference" on Perlmonks, ja przyszedłem z następujących, które Perl nie narzekać, ale również nie wraca co szukam:
$%{$myclass->sub($foo)}->{key}{subkey}
Czy ktoś może mi powiedzieć, co to jest sekwencja ucieczki magicznej dereferencji?
Każdy wydaje się chcieć sprawić, by życie jeszcze bardziej się zmieniło, zamieniając dwie idealnie dobre linie w jedną popsutą linię. Na pewno są lepsze rzeczy do przemyślenia. :) –