4. Elemente eines Arrays manipulieren
- push und pop = Elemente an das Listenende hinzufügen bzw. entfernen
- shift und unshift = Elemente am Listenanfang hinzufügen bzw. entfernen
- splice = Elemente irgendwo in der Liste einfügen bzw. entfernen
push, Elemente an das Listenende anfügen
Syntaxbeispiel
$neu = "Das waren alle Monate";
push(@monate , $neu);
Komplettes Beispielscript
#!/usr/bin/perl
#Fehlerausgabe an Browser
use CGI::Carp qw(fatalsToBrowser);
@monate = qw(Januar Februar März April Mai Juni Juli August September Oktober November Dezember);
print "Content-type: text/html\n\n";
$neu = "Das waren alle Monate";
push(@monate , $neu);
for ($i=0; $i <=$#monate; $i++) {
print "$monate[$i]<br>";
}
Ausgabe:
Januar Februar ... Dezember Das waren alle Monate
pop, Element am Listenende entfernen
Syntaxbeispiel
# $entferntes = Dezember
$entferntes = pop(@monate);
Komplettes Beispielscript
#!/usr/bin/perl
#Fehlerausgabe an Browser
use CGI::Carp qw(fatalsToBrowser);
@monate = qw(Januar Februar März April Mai Juni Juli August September Oktober November Dezember);
print "Content-type: text/html\n\n";
# $entferntes = Dezember
$entferntes = pop(@monate);
for ($i=0; $i <=$#monate; $i++) {
print "$monate[$i]<br>";
}
Ausgabe:
Januar Februar ... November
shift, Element vom Listenanfang entfernen
Syntaxbeispiel
# $erstes = Januar
$erstes = shift (@monate);
Komplettes Beispielscript
#!/usr/bin/perl
#Fehlerausgabe an Browser
use CGI::Carp qw(fatalsToBrowser);
@monate = qw(Januar Februar März April Mai Juni Juli August September Oktober November Dezember);
print "Content-type: text/html\n\n";
# $erstes = Januar
$erstes = shift (@monate);
for ($i=0; $i <=$#monate; $i++) {
print "$monate[$i]<br>";
}
Ausgabe:
Februar ... November Dezember
unshift, Element an Listenanfang anfügen
unshift braucht zwei Argumente, die zu ändernde Liste und die die angefügt werden soll
Syntaxbeispiel
unshift (@monate , @wochentage);
Komplettes Beispielscript
#!/usr/bin/perl
#Fehlerausgabe an Browser
use CGI::Carp qw(fatalsToBrowser);
@monate = qw(Januar Februar März April Mai Juni Juli August September Oktober November Dezember);
@wochentage = qw(Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag);
print "Content-type: text/html\n\n";
unshift (@monate , @wochentage);
for ($i=0; $i <=$#monate; $i++) {
print "$monate[$i]<br>";
}
Ausgabe:
Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag Januar ... Dezember
splice, Elemente irgendwo in der Liste einfügen bzw. entfernen
splice erwartet bis max. 4 Argumente:
- Das zu veränderde Array
- Den Offset, die Position ab der etwas hinzugefügt oder entfernt werden soll
- Die Anzahl der zu bearbeitenden Elemente, ist dies nicht angegeben ändert splice jedes Element vom Offset an.
- Die hinzuzufügenden Elemente, falls vorhanden
Syntaxbeispiel
splice (@monate, 1, 10);
Komplettes Beispielscript
#!/usr/bin/perl
#Fehlerausgabe an Browser
use CGI::Carp qw(fatalsToBrowser);
@monate = qw(Januar Februar März April Mai Juni Juli August September Oktober November Dezember);
print "Content-type: text/html\n\n";
splice (@monate, 1, 10);
for ($i=0; $i <=$#monate; $i++) {
print "$monate[$i]<br>";
}
Ausgabe:
Januar Dezember
Elemente mit splice in der Liste verändern
#!/usr/bin/perl
#Fehlerausgabe an Browser
use CGI::Carp qw(fatalsToBrowser);
@monate = qw(Januar Februar März April Mai Juni Juli August September Oktober November Dezember);
print "Content-type: text/html\n\n";
splice (@monate, 7, 3, (9,10,11));
for ($i=0; $i <=$#monate; $i++) {
print "$monate[$i]<br>";
}
Ausgabe:
Januar ... Juli 9 10 11 November Dezember
» Weitere Praxisbezogene Beispiele hierzu ansehen »
|