[vienna.pm] habs wohl nicht verstanden :-(, jetzt schon!

Peter J. Holzer hjp at wsr.ac.at
Fri Apr 7 07:20:05 CDT 2000


On 2000-04-07 12:49:07 +0200, Michael Demelbauer wrote:
> * * * vienna-pm-list * * *
> 
> 
> Thus spaketh Peter J. Holzer:
> > On 2000-04-07 10:42:46 +0200, Michael Demelbauer wrote:
> > > * * * vienna-pm-list * * *
> [ ... besten Dank an alle, die geantwortet haben, und nein: nur 'use
> strict' hätte zu meiner Erleuchtung noch nicht gereicht ... ]
> 
> Da ich hier nicht der einzige Dummy zu sein scheine, poste ich das
> ganze funktionierende Ding.

Das funktioniert aber nur zufällig :-)

> opendir (DIRHANDLE, $dir) or die "cannot read directory $dir: $!";
> close DIRHANDLE;
> 
> my @files = readdir (DIRHANDLE);

Zuerst öffnen, dann schließen, und dann erst verwenden ist wohl die
falsche Reihenfolge. Richtig wäre zuerst öffnen, dann verwenden, und zum
Schluß schließen.

Ich habe aber auch mehrmals hinschauen müssen, um zu sehen, warum das
trotzdem funktioniert: Die richtige Funktion zum Schließen eines
Dirhandles ist (natürlich) closedir, nicht close (mein Fehler). Daher
wird DIRHANDLE nicht geschlossen und kann weiterverwendet werden.

Die Moral von der Geschicht: Man sollte auch auf Fehler prüfen, die
"nicht passieren können". Denn 

    close DIRHANDLE or die "cannot close directory $dir: $!";

hätte die Fehlermeldung 

    cannot close directory .: Bad file descriptor at
    ./readdir_michael.pl line 12.

ausgespuckt und so angezeigt, daß mit dem close etwas nicht stimmen
kann.

	hp

-- 
   _  | Peter J. Holzer      | The best way to make sure something is
|_|_) | Sysadmin WSR / LUGA  |  "standard" today is to get an O'Reilly
| |   | hjp at wsr.ac.at        | book written on the topic.
__/   | http://www.hjp.at/   |   -- Casey Schaufler <casey at sgi.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 371 bytes
Desc: not available
Url : http://mail.pm.org/archives/vienna-pm/attachments/20000407/b984e07f/attachment.bin


More information about the Vienna-pm mailing list