Du willst keinen Hash, sondern ein Array of arrays. Matti ist auf den falschen Zug aufgesprungen. Lies perldsc und perllol zum Verständnis.
my @R = (
[qw(abc def ghi)],
[qw(cba fed ihg)],
[qw(foo bar)],
[qw(quux)],
);
for my $i (0..3) {
print sprintf <<''
-----------------------------------------------
Wir bearbeiten gerade Element %d des Arrays @R.
$R[%d] ist eine Referenz vom Typ %s.
Dereferenziert enthält sie %d Elemente.
Das erste Element lautet %s, das letzte %s.
, $i, $i, ref($R[$i]), scalar(@{ $R[$i] }), $R[$i][0], $R[$i][-1];
};
__END__
-----------------------------------------------
Wir bearbeiten gerade Element 0 des Arrays @R.
$R[0] ist eine Referenz vom Typ ARRAY.
Dereferenziert enthält sie 3 Elemente.
Das erste Element lautet abc, das letzte ghi.
-----------------------------------------------
Wir bearbeiten gerade Element 1 des Arrays @R.
$R[1] ist eine Referenz vom Typ ARRAY.
Dereferenziert enthält sie 3 Elemente.
Das erste Element lautet cba, das letzte ihg.
-----------------------------------------------
Wir bearbeiten gerade Element 2 des Arrays @R.
$R[2] ist eine Referenz vom Typ ARRAY.
Dereferenziert enthält sie 2 Elemente.
Das erste Element lautet foo, das letzte bar.
-----------------------------------------------
Wir bearbeiten gerade Element 3 des Arrays @R.
$R[3] ist eine Referenz vom Typ ARRAY.
Dereferenziert enthält sie 1 Elemente.
Das erste Element lautet quux, das letzte quux.