# Funktionen auf Listen

@liste = qw/a b c d e f g h/;

# Elemente hinzufuegen oder entfernen

# shift: 1. Element herausnehmen

$shift = shift(@liste);

print "1 $shift -- @liste\n";

# unshift: ein neues Element (auch mehrere) am Anfang der Liste einfuegen

$unshift = unshift(@liste,"x");

print "2 $unshift -- @liste\n";

$unshift = unshift(@liste,"y","z");

print "3 $unshift -- @liste\n";

# pop: das letzte Element entnehmen

$pop = pop(@liste);

print "4 $pop -- @liste\n";

# push: am Ende der Liste hinzufuegen

$push = push(@liste,"x");

print "5 $push -- @liste\n";

$push = push(@liste,"y","z");

print "6 $push -- @liste\n";

# splice: innerhalb einer Liste einfuegen oder loeschen

# splice ARRAY, OFFSET, LENGTH, LIST
# splice ARRAY, OFFSET, LENGTH
# splice ARRAY, OFFSET

$splice1 = splice(@liste,9);

print "7 $splice1 -- @liste\n";

$splice2 = splice(@liste,6,1);

print "8 $splice2 -- @liste\n";


$splice3 = splice(@liste,5,1,(1,2,3));

print "9 $splice3 -- @liste\n";

$splice4 = splice(@liste,5,3,("A","B"));

print "10 $splice4 -- @liste\n";

# sort: Liste sortieren

@liste2 = sort @liste;

print "11 @liste2 -- @liste\n";

# reverse: Liste oder Zeichenketten umkehren

@liste2 = reverse @liste;

print "12 @liste2 - @liste\n";

$string = "hallo";

$reverse = reverse($string);

print "13 $reverse -- $string\n";


# join: Gegenteil von split: bild Zeichenkette aus Liste

$string = join('::',@liste);

print "14 $string -- @liste\n";
 



