Thread aktuelles Verzeichnis (43 answers)
Opened by J-jayz-Z at 2005-05-15 02:55

coax
 2005-05-15 18:34
#54896 #54896
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
[quote=J-jayz-Z,15.05.2005, 15:28]
Code: (dl )
my $size = (-s, "$_");
[/quote]
du meinst sicherlich
Code: (dl )
my $size = -s $_;

da -s ohne Argument ohnehin auf $_ angewendet wird kannst du auch einfach nur
Code: (dl )
my $size = -s;

schreiben.

In deinen Code hast du eine Liste (-s, $_), das entspricht (-s $_, $_) und da du es im skalaren Kontext aufrufst, also
Code: (dl )
my $size = (-s $_, $_);

wird $size der letzte Wert der Liste zugewiesen also einfach nur $_, im Listenkontext haettest du zwar den gewuenschten Effekt aber nicht auf den besten Weg erreicht
Code: (dl )
my($size) = (-s $_, $_);


Und "$_" ist ein DON'T, eine unnoetige Interpolation, es reicht $_ zu schreiben.

Grusz Christian.

edit: Noch etwas: Du solltest die Eintraege '.' und '..' ueberspringen, von denen moechtest du garantiert nicht die Groesze.
Code: (dl )
1
2
3
4
foreach (@files) {
   next if /^\.\.?$/;
   # ...
}
\n\n

<!--EDIT|coax|1116168595-->
,,Das perlt aber heute wieder...'' -- Dittsche

View full thread aktuelles Verzeichnis