Sobald ich also am Ende der Funktion 'unset' auf die 2 Arrays aufrufe, fliegt mir der Rückgabewert um die Ohren.
Jetzt verstehe ich. Die Funktion unset ist von dir (ich dachte schon ich hätte mal wieder ein neues Perl Feature verpaßt). Dann frag ich mich aber wirklich warum du etwas löscht, was du später verwenden willst?
Auch wenn ich es für umständlich und performancefeindlich halte ein Array unnötig zu kopieren, du kannst natürlich auch Referenzen dereferenzieren, das sieht aber extrem unschön aus.
sub x{
my @a = qw(1 2 3 4);
my @b = qw(4 3 2 1);
my @ret = ([@{\@a}], [@{\@b}]);
@a = ();
@b = ();
return \@ret;
}
use Data::Dumper;
print Dumper x();
Struppi.