On Fri, Mar 11, 2005 at 06:12:58PM -0500, Igor Pechtchanski wrote:
> On Fri, 11 Mar 2005, Yitzchak Scott-Thoennes wrote:
> 
> > On Thu, Mar 10, 2005 at 08:44:40PM -0500, Igor Pechtchanski wrote:
> > > Hi,
> > >
> > > I'm having trouble with Perl 5.8.6-4 under Cygwin 1.5.12.
> > >
> > > $ perl -e 'exit !(-r $ARGV[0])' /cygdrive/c/Program\ 
> > > Files/ThinkPad/Utilities && echo "yep"
> > > $ test -r /cygdrive/c/Program\ Files/ThinkPad/Utilities && echo "yep"
> > > yep
> > >
> > > Is this behavior by design, or does perl actually check ACLs and something
> > > is wrong with my installation?
> > >   Igor
> >
> > perldoc -f -r:
> >
> >               The interpretation of the file permission operators "-r", 
> > "-R",
> >               "-w", "-W", "-x", and "-X" is by default based solely on the
> >               mode of the file and the uids and gids of the user.  There may
> >               be other reasons you can't actually read, write, or execute 
> > the
> >               file.  Such reasons may be for example network filesystem
> >               access controls, ACLs (access control lists), read-only
> >               filesystems, and unrecognized executable formats.
> >
> > You can try the filetest pragma: use filetest 'access';
> > see perldoc filetest.
> 
> I see.  So basically this isn't likely to change in Perl, and so is a bug
> in the program that uses -r here.  I'll report this as a bug, then.
> Thanks,
>       Igor

There was some discussion about this a while ago; a quick read of
http://guest:[EMAIL PROTECTED]/rt3/Ticket/Display.html?id=30885
makes me think AIX was changed to always use access; perhaps doing
so for cygwin would also be an option.  I'm not sure why the original
call was made to not use access() by default where available.

Reply via email to