Ho una classe con un metodo che restituisce un hash. Normalmente, vorrei avere il risultato in questo modo:Come posso annullare un hash restituito da un metodo di una classe?
%resp = $myclass->sub($foo);
E poi i membri di accesso della hash restituita in questo modo:
$resp{key}{subkey};
nel caso di un hash 2d.
Immagino che ci deve essere un modo per combinare questo in un unico, linea elegante, qualcosa di simile:
$myclass->sub($foo)->{key}{subkey}
Questo ovviamente non viene dereference correttamente come Perl restituisce questo quando si cerca di eseguire il codice:
Can't use string ("1/8") as a HASH ref
Nel tentativo sequenze dereferenziamento casuali, dal guardare "References quick reference" on Perlmonks, mi si avvicinò con la seguente, che Perl non si lamenta, ma anche non restituisce quello che sto cercando:
$%{$myclass->sub($foo)}->{key}{subkey}
Qualcuno può dirmi che cosa è la sequenza di fuga magica di dereferenziamento?
Tutti sembrano voler rendere le vite più difficili girando due linee perfettamente in una riga incasinata. Sicuramente ci sono cose migliori a cui pensare. :) –