Gibt es eine Möglichkeit, Elemente eines Arrays zu
vertauschen?
natuerlich… waere ja auch schlimm, wenn nicht.
in der Funktion Tausch soll ein String übergeben werden. Nach
diesem wird im Array gesucht. Wenn er gefunden wurde (und er
wird in jedem Fall gefunden) wird er mit einem anderen Element
(das immer das gleiche ist z.B.: „vier“) der Liste vertauscht.
nun ja, es gibt keine fertige funktion, die das macht.
die frage ist, womit du probleme hast. kannst du schon
ein bisschen programmieren oder gar nicht?
willst du eine fertige funktion haben oder auch mitarbeiten?
weisst du, wie du eine subroutine allgemein schreibst und
argumente uebergibst? du siehst, wenn du erzaehlt haettest,
was du schon weisst und was nicht, koennte man dir eher
helfen.
zum loesungsweg:
du schreibst eine subroutine, der du 2 argumente uebergibst,
eine arrayreferenz (das array, das du veraendern willst) und den
gesuchten string.
zu datenstrukturen, referenzen siehe perldoc perlref, perldoc perllol.
du suchst nach dem uebergebenen element (mit einer schleife
ueber die indizes des arrays) und merkst dir den index. dann
suchst du nach dem anderen element, nach der „vier“, und merkst
dir auch hier den index. kannst das ganze auch in einer schleife
erledigen.
dann tauschst du die beiden elemente einfach aus:
($arrayref-\>[$x], $arrayref-\>[$y]) = ($arrayref-\>[$y], $arrayref-\>[$x]);
# oder mit arrayslices etwas kompakter
@$arrayref[$x,$y] = @$arrayref[$x,$y];