X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Message-ID: <48A31DD2.8030105@x-ray.at> Date: Wed, 13 Aug 2008 19:45:54 +0200 From: Reini Urban User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de-AT; rv:1.8.1.13) Gecko/20080313 SeaMonkey/1.1.9 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: perl - finding files that don't exist? References: <48A3015C DOT 6070009 AT cygwin DOT com> In-Reply-To: <48A3015C.6070009@cygwin.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Larry Hall (Cygwin) schrieb: > Paul Mallas wrote: >> I am not sure where this issue should sits - is it a perl problem or a >> cygwin problem or windows? Not sure - but I have noticed just after >> cygwin upgrade. >> >> Perl seems to be finding files that don't exist: >> >> $ ls -a >> ./ ../ Babel.pm >> >> $ perl -e 'print (-f "./PRN.pm")' >> 1 >> >> $ perl -e 'print (-e "./PRN.pm")' >> 1 >> >> $ perl -e 'print (-e "./PR.pm")' >> >> >> PRN.pm is reserved device in windows. You can't create a file with >> this name in WinXP. But perl says the file exists now and it did not >> seem to exhibit this behaviour before. > > > > Cygwin has always recognized these devices because the underlying Windows > APIs do. Try "ls PRN" anywhere. And "ls PRN.pm" has the same problem. With cygwin-1.5 and earlier only. cygwin stat() is the problem, not perl. Try "strace ls PRN.pm" and see fhandler_base::open_9x: 0xFFFFFFFF = CreateFile (C:\\PRN.pm, 0x80000000, 0x7, 0x22C540, 0x3, 0x2000080, 0) 1.7 will work okay in this regard. ls PRN.pm ls: cannot access PRN.pm: No such file or directory It will not use the old CreateFile() for stat(), but the Win95 incompatible Nt... variants with \??\C:\\PRN.pm -- Reini Urban http://phpwiki.org/ http://murbreak.at/ -- 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/