Leser: 22
undef @$foo;
undef $foo;
@{$foo} = ();
2010-02-07T12:26:38 biancaCode (perl): (dl )@{$foo} = ();
2010-02-07T12:29:12 ?Ja, damit entleere ich das Array - ich will es aber löschen.
2010-02-07T12:33:22 bianca2010-02-07T12:29:12 ?Ja, damit entleere ich das Array - ich will es aber löschen.
Nein, Du produzierst einen Fehler. Diese Syntax ist für Hashes.
%{$foo} = ();
Sorry, bei Array weiß ich nicht.
2010-02-07T12:33:50 pqdefiniere "löschen".
willst du das array, welches referenziert wird, leeren? willst du die variable selber, die die referenz enthält, auf undef setzen? was willst du genau erreichen? es gibt kein "löschen" einer variable. du kannst variablen (skalare) auf undef setzen oder (arrays und hashes) leeren.
2010-02-07T12:50:16 pqna dann ist es klar. undef $foo
das array wird doch nur an dieder einen stelle referenziert (hoffe ich doch mal, aber leider verrätst du uns das nicht).
2010-02-07T12:50:16 pqwenn es nur von $foo referenziert wird, dann kannst du $foo auf undef setzen. dadurch hat das referenzierte array keinen referenten mehr und wird bei der nächsten gelegenheit aus dem speicher geräumt.
2010-02-07T12:57:23 EscapeAlso erst leeren und dann die Referenz vernichten.
Danke - das war die Antwort die ich suchte.
2010-02-07T12:59:24 pqNirgends hast Du das geschrieben; aber ich möchte in Sachen Speicherfreigabe sichergehen und leere daher das Array bevor ich die Referenz auf undef setze.nein!
einfach nur
undef $foo;wo habe ich geschrieben, dass du erst leeren musst?
2010-02-07T12:59:24 pqDie Gefahr besteht sicher nicht ;-)bitte nicht von bianca verwirren lassen.
2010-02-07T12:52:30 pqwie genau sollte delete in diesem fall denn anzuwenden sein?
2010-02-07T12:54:22 bianca2010-02-07T12:52:30 pqwie genau sollte delete in diesem fall denn anzuwenden sein?
Wer schrieb von delete?
2010-02-07T12:50:36 biancaSchau dir mal bitte perldoc -f delete an.
QuoteEs geht z.B. um diese Zeile in der Doku und ggf. noch andere. Je nachdem, was ihm an liebsten ist.
undef @ARRAY; # forget @ARRAY ever existed
2010-02-07T12:54:22 biancaDuWer schrieb von delete?
2010-02-07T12:54:22 biancaDazu meintest Du anmerkungen zu müssen, dass ich damit einen Fehler erzeuge.Es geht z.B. um diese Zeile in der Doku und ggf. noch andere. Je nachdem, was ihm an liebsten ist.
undef @ARRAY; # forget @ARRAY ever existed
undef $foo
Guest CaldrinSollte allerdings noch eine andere Referenze auf @$foo existieren, bringt dirgar nichts.Code: (dl )undef $foo