Für die zweite Lösung soll man nicht foreach, sondern map verwenden.
Das Problem bleibt aber das gleiche: Man hat nur eine Variable.
Der Trick ist einfach: Man nimmt das aktuelle Element als "rechtes Ende" und speichere den Wert am Ende der Schleife in einer Variable, die man dann im nächsten Durchlauf als "linkes Ende" verwenden kann.
Bei foreach also ganz grob so:
foreach $rechts (@liste)
{
#....
print "von $links nach $rechts\n";
#....
$links = $rechts;
}
Grüße
Tobias Nopper
Lehrstuhl für Betriebssysteme