[Dresden-pm] Destruktoren

Torsten Werner twerner-perl at vwisb7.vkw.tu-dresden.de
Fre Jul 25 03:05:10 CDT 2003


Hallo Steffen,

On 2003-07-25, Steffen Schwigon wrote:
> Nicht generell vergleichbar, denke ich, schon weil in Perl das
> destruieren an das Garbage Collection gebunden ist.

Ich habe gerade nochmal im Kamelbuch nachgesehen:

'When a block is exited, its locally scoped variables are normally freed
up, ...'

Das ist also tatsächlich eher wie in C++ und nicht wie in Java oder
C-Gartenzaun, was mir sehr sympathisch ist.

>   undef $handle;

Das ist zumindest dann sinnvoll, wenn man vor dem Ende des Blocks die
Datei schließen möchte.

> Wobei <> auch *automatisch* von STDIN liest, wenn keine Dateinamen an
> das Programm übergeben wurden. Sehr bequem für Filterskripte.

Okay das lässt sich einfach beheben:

for(@_ ? @_ : '-') { ... }

Damit kann man dann äquivalent zu 'print <>' einfach schreiben:

print read_files @ARGV;


Torsten

-- 
Torsten Werner                         Dresden University of Technology
email at twerner42.de                   +49 351 46336711 / +49 162 3123004
http://www.twerner42.de/                      telefax: +49 351 46336809