Ciao a tutti,
ho idea di non aver centrato il titolo con ciò che chiedo e me ne scuso anticipatamente.

Ho un file di input costituito da testo con caratteristiche regolari, ogni riga inizia con un numero e poi ho dei codici separati ciascuno da una tabulazione.
(es:
1 xxx yyy zzz aaa bbb ccc ddd fff ggg
)
Ho inserito ogni riga di testo in un hash che prende come chiave il numero iniziale della riga e come valore un array contenente tutta la riga (così che l'elemento 6 dell'array sarà ccc)

Io voglio salvare il valore dell'elemento 6 di tutte quelle righe/array che hanno come elemento 7 un certo valore e come elemento 3 un'altro. (so che l'elemento 6 è sempre un numero)
Fatto questo, voglio rintracciare il valore, e quindi l'array, che ha come chiave il valore dell'elemento salvato precedentemente per poi eseguire altri controlli.

Posto il codice:
codice:
%hash = ($r[0] => $r);
	  foreach ($hash{$r[0]}[7]=~/regexp/){
	      if ($hash{$r[0]}[3]=~/regexp/){
		  $m=$hash{$r[0]}[2];
		  $t=$hash{$r[0]}[6];     #fino qui tutto ok, riesco a stampare $m e $t

		  if($hash{$r[$t]}[7]=~/regexp/){    #qui non prende il valore di $t
		      if ($hash{$r[$t]}[3]=~/regexp/){
		  	  $s=$hash{$r[$t]}[2];
			  print "$s\t$m\n";
		      }
		  }		      
	      }
Perciò il mio problema è: come faccio a prendere il valore dell'hash che ha come chiave ciò che ho memorizzato in $t?
Spero di essere riuscita a spiegarmi.
Grazie a tutti per qualsiasi aiuto potrete darmi.