Letztens hatte ich das Problem, dass ich in Perl ein Array an Elementen hatte und erst im späteren Programmverlauf Informationen erhalten habe, die zwingend am Anfang des Arrays stehen müssen.
Also musste ich eine Lösung dafür finden, wie ich Elemente an den Anfang eines Arrays hinzufüge und habe ein paar sehr nützliche Funktion kennengelernt.
Shift
Ruft man die Shift Funktion auf, wird das erste Element eines Arrays zurückgeliefert und anschließend aus dem Array entfernt. Alle nachfolgenden Elemente des Arrays rücken eine Position nach vorne:
my @arr = ('Hello', 'Wolrd', 'HelloWorld'); my $element = shift @arr; print "$element\n"; # Hello print "@arr\n"; # World HelloWorld
Unshift
Mit Hilfe der unshift Funktion kann ein Element an den Anfang des Arrays hinzugefügt werden. Alle nachfolgenden Elemente rücken anschließend eine Position nach hinten:
my @arr = ('Hello', 'Wolrd'); unshift @arr, 'HelloWorld'; print "@arr\n"; # HelloWorld Hello World
Push
Die Push Funktion fügt ein Element an das Ende des Arrays hinzu:
my @arr = ('Hello', 'World'); push @arr, 'HelloWorld'; print "@arr\n"; # Hello World HelloWorld
Pop
Die Pop Funktion liefert das letzte Element des Arrays zurück und entfernt es anschließend aus dem Array:
my @arr = ('Hello', 'Wolrd', 'HelloWorld'); my $element = pop @arr; print "$element\n"; # HelloWorld print "@arr\n"; # Hello World
Viel Spaß und Erfolg beim manipulieren deiner Arrays 😉