Quindi, non ho mai saputo questo e voglio ottenere un chiarimento su di esso. So se lo fai
foreach (@list){
se si modifica $ _ in quel ciclo interesserà i dati effettivi. Ma, non sapevo che se avete fatto
foreach my $var1 (@list){
Se è stata modificata $ var1 nel ciclo cambierebbe i dati effettivi. : -/Quindi, c'è un modo per eseguire il ciclo su @list ma mantenere la variabile una copia di sola lettura, o una copia che, se cambiata, non cambierà il valore in @list?
Attenzione, $ var1 non è un riferimento, ma un alias. Vedere la differenza: my $ var2 = \ $ list [0]; stampa "$ var2 \ n"; visualizza SCALARE (0x8171880) – wazoox
@wazoox: intendeva se $ var1 conteneva un riferimento, ad es. se @list contenesse una serie di ref HASH. Anche se rompi l'aliasing, hai ancora un'altra copia di un riferimento alla stessa cosa. –