Thread Frage zu defined (3 answers)
Opened by pktm at 2010-02-18 11:51

pktm
 2010-02-18 11:51
#133257 #133257
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!

In der Manpage von DirHandle steht folgendes bei SYNOPSIS:
Code: (dl )
1
2
3
4
5
6
7
8
    use DirHandle;
$d = DirHandle->new(".");
if (defined $d) {
while (defined($_ = $d->read)) { something($_); }
$d->rewind;
while (defined($_ = $d->read)) { something_else($_); }
undef $d;
}


Mich interessiert dabei im speziellen die Zeile:
Code: (dl )
while (defined($_ = $d->read)) { something($_); }


Da steht ein defined um die Zuweisung von $_ herum. Soweit ich das verstehe, muss das da stehen, weil $_ immer deklariert ist, aber undef sein kann. Bitte korrigiert mich, falls das falsch ist.

Wenn ich jetzt aus der obigen Zeile das hier mache:
Code: (dl )
1
2
3
while( my $dir_entry = $d->read() ) {
something($dir_entry);
}


Dann brauche ich doch das defined nicht mehr, weil die Bedingung im Schleifenkopf nicht mehr erfüllt ist - oder?

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )

View full thread Frage zu defined