zifnab: Rückgabe eines mehrdimensionalen Arrays

Beitrag lesen

Hi,
ich benötige eine Funktion, die mir 2 Arrays zurückgibt.
Da die Reihenfolge der Werte wichtig ist(!), kann ich nicht problemlos mit Hashes arbeiten.
In meiner Lösung habe ich dazu ein Array mit 2 Feldern erzeugt. Jedes seiner Felder enthält den Verweis auf eines der zurückzugebenden Arrays.
Da diese Verweise beim Erzeugen des Rückgabewertes nicht durch perl aufgelöst werden ( keine Dereferenzierung ) sondern im Returnwert enthalten sind, kann ich nur solange auf den Rückgabewert zugreifen, wie die Referenzen auf einen tatsächlich vorhandenen Speicherinhalt zeigen.
Sobald ich also am Ende der Funktion 'unset' auf die 2 Arrays aufrufe, fliegt mir der Rückgabewert um die Ohren.
Kann mir jemand aus der Patsche helfen?

  
sub gib_2_arrays_zurück {  
my @ret_array     = ();  
my @vorname       = ();  
my @nachname      = ();  
  
# vorname und nachname werden gefüllt, dann...  
  
	@ret_array[0] = \@vorname;  
	@ret_array[1] = \@nachname;  
  
	unset( @vorname ); # lässt @ret_array[0] ins nirvana zeigen  
	unset ( @nachname ); # lässt @ret_array[1] ins nirvana zeigen  
  
	return @ret_array;  
}