Krzysztof Duleba wrote:

Volker Quetschke wrote:


I stumbled over the following problem, perl's -x doesn't recognize
some files as executable, even though they are and test -x does.


It works for me if the file is group or world executable.

Works for me anyway, as long as I am probing a Cygwin executable:

$ chmod 777 /usr/bin/cat.exe
$ ls -l /usr/bin/cat.exe
-rwxrwxrwx+ 1 gerrit ???????? 21504 Apr 14 14:26 /usr/bin/cat.exe
$ perl -e 'if ( ! -x "/usr/bin/cat.exe" ) {print "not executable\n";} else {print "executable\n";}'
executable


$ chmod 755 /usr/bin/cat.exe
$ ls -l /usr/bin/cat.exe
-rwxr-xr-x+ 1 gerrit ???????? 21504 Apr 14 14:26 /usr/bin/cat.exe
$ perl -e 'if ( ! -x "/usr/bin/cat.exe" ) {print "not executable\n";} else {print "executable\n";}'
executable


$ chmod 700 /usr/bin/cat.exe
$ ls -l /usr/bin/cat.exe
-rwx------+ 1 gerrit ???????? 21504 Apr 14 14:26 /usr/bin/cat.exe
$ perl -e 'if ( ! -x "/usr/bin/cat.exe" ) {print "not executable\n";} else {print "executable\n";}'
executable


$ chmod 500 /usr/bin/cat.exe
$ ls -l /usr/bin/cat.exe
-r-x------+ 1 gerrit ???????? 21504 Apr 14 14:26 /usr/bin/cat.exe
$ perl -e 'if ( ! -x "/usr/bin/cat.exe" ) {print "not executable\n";} else {print "executable\n";}'
executable



When I test e.g. mozilla.exe which I'm not the owner:
$ ls -l /c/Programme/Mozilla/mozilla.exe
-rwx------+ 1 Administratoren Domänen-Benutzer 98192 May 11 14:07 /c/Programme/Mozilla/mozilla.exe $ perl -e 'if ( ! -x "/c/Programme/Mozilla/mozilla.exe" ) {print "not executable\n";} else {print "executable\n";}'
not executable


Gerrit
--
=^..^=


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply via email to