Thread rmdir permission denied unter Windows XP (43 answers)
Opened by Thomas at 2009-10-16 14:20

Linuxer
 2009-10-21 00:06
#127188 #127188
User since
2006-01-27
3882 Artikel
HausmeisterIn

user image
Vorsicht bei Deiner Art Fehler abzufragen.

Warum verwendest Du beim opendir() den Operator or, aber beim rmdir den Operator ||?

Beachte bitte den Vorrang der beiden Operatoren, denn sie sind nicht uneingeschränkt austauschbar!

Vergleiche mal die Ergebnisse:
Code: (dl )
1
2
3
4
$ perl -wle 'print 0 or 1'
0
$ perl -wle 'print 0 || 1'
1


ersteres bedeutet ein: print(0) oder (tue) 1;
das zweite bedeutet: print (0 oder 1);

Siehe dazu auch: http://perldoc.perl.org/perlop.html#Logical-or%2C-...



Dein rmdir $_ || die "remove dir: $!"; wertet also zuerst den Ausdruck «$_ || die ".."» aus und versucht dann, das Ergebnis zu löschen.
Also besser or verwenden, oder Klammern verwenden: rmdir($_) || die ...


edit: Link hopefully fixed
Last edited: 2009-10-21 12:51:42 +0200 (CEST)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread rmdir permission denied unter Windows XP