Considerate questo codice:Come posso trasformare un array restituito da una funzione (come split) in un riferimento di array?
@tmp = split(/\s+/, "apple banana cherry");
$aref = \@tmp;
Oltre ad essere poco elegante, il codice di cui sopra è fragile. Dire che seguo con questa linea:
@tmp = split(/\s+/, "dumpling eclair fudge");
Ora $$aref[1]
è "eclair" invece di "banana".
Come posso evitare l'uso della variabile temporanea?
Concettualmente, sto pensando a qualcosa di simile
$aref = \@{split(/\s+/, "apple banana cherry")};
Le funzioni non possono restituire matrici. 'split' restituisce una lista di scalari, proprio come qualsiasi altro sub. – ikegami