Sebastian Will: löschen eines arrayelements

Beitrag lesen

Hi,

wie kann ich in einem array ein bestimmtes element (z.b.$array[4])löschen.

Recht einfach, mit dem Befehl 'splice'.

Syntax:

[ARRAY] = splice([ARRAY], [STARTINDEX], [LENGTH], [REPLACEMENT]);

Beispiel (die Beispiele beziehen sich immer auf den ursprünglichen Inhalt von @tags):

--------------- snip 8>< -------------------------
@tags = ("HEAD", "BODY", "P", "IMG", "PRE");

Die letzten beiden Elemente löschen

$result = splice(@tags, 2);

@tags ist jetzt ("HEAD", "BODY", "P"), $result ist ("IMG", "PRE)

"BODY" und "P" löschen

$result = splice(@tags, 1, 2);

@tags ist jetzt ("HEAD", "IMG", "PRE"), $result ist ("BODY", "P")

"P" durch "DIV" ersetzen

splice(@tags, 2, 1, "DIV");

"P" durch einen Array ersetzen

@ersatz = ("DIV", "TT", "A");
splice(@tags, 2, 1, @ersatz);
--------------- snip 8>< -------------------------

Hoffe, ich habe keine Fehler gemacht, ist schon ein bissel her mit Perl. Siehe das hervorragende Perl Tutorial (englisch) von Robert:
http://www.netcat.co.uk/rob/perl/win32perltut.html#74-Splice.

<mfg>Sebastian Will</mfg>