Subject: 20040422 snapshot and filenames ending with . (was: Re: errors using DB_File perl module under 20040422 snapshot)
From: Yitzchak Scott-Thoennes <[email-masked]>
To: [email-masked]
Date: Tue, 27 Apr 2004 02:45:38 -0700

On Mon, Apr 26, 2004 at 10:40:02PM +0200, "Gerrit P. Haase" wrote:
> Hallo Yitzchak,
> 
> Am Sonntag, 25. April 2004 um 21:16 schriebst du:
> 
> > It seems to be creating files that cygwin cannot thereafter open.
> 
> > $ perl -we'use Fcntl; use DB_File; tie %h, "DB_File", "bugaboo",
> > O_RDWR()|O_CREAT(), 0666 or die "error: $!"'
> > Name "main::h" used only once: possible typo at -e line 1.
> > error: No such file or directory at -e line 1.
> 
> The same here.
> 
> > $ ls *bugaboo*
> > ls: __db.bugaboo.: No such file or directory
> 
> $ ls *bugaboo*
> __db.bugaboo
> 
> No problem here.
> 
> > $ rm *bugaboo*
> > rm: cannot remove `__db.bugaboo.': No such file or directory
> 
> $ rm *bugaboo*
> 
> No problem here. Hmmm.
> 
> >  2526k 2003/10/07 C:\cygwin\usr\local\bin\cygperl5_8_1.dll - os=4.0 img=1.0 sys=4.0
> >                   "cygperl5_8_1.dll" v0.0 ts=2003/10/7 10:14
> >  2524k 2003/10/30 C:\cygwin\usr\local\bin\cygperl5_8_2.dll - os=4.0 img=1.0 sys=4.0
> >                   "cygperl5_8_2.dll" v0.0 ts=2003/10/30 14:15
> >  2524k 2004/01/08 C:\cygwin\usr\local\bin\cygperl5_8_3.dll - os=4.0 img=1.0 sys=4.0
> >                   "cygperl5_8_3.dll" v0.0 ts=2004/1/8 5:06
> >  2643k 2004/04/22 C:\cygwin\usr\local\bin\cygperl5_8_4.dll - os=4.0 img=1.0 sys=4.0
> >                   "cygperl5_8_4.dll" v0.0 ts=2004/4/21 20:47
> >  2562k 2003/10/31 C:\cygwin\usr\local\bin\cygperl5_9_0.dll - os=4.0 img=1.0 sys=4.0
> >                   "cygperl5_9_0.dll" v0.0 ts=2003/10/30 16:23
> >  2671k 2004/02/29 C:\cygwin\usr\local\bin\cygperl5_9_1.dll - os=4.0 img=1.0 sys=4.0
> >                   "cygperl5_9_1.dll" v0.0 ts=2004/2/29 0:57
> >  2694k 2004/04/20 C:\cygwin\usr\local\bin\cygperl5_9_2.dll - os=4.0 img=1.0 sys=4.0
> >                   "cygperl5_9_2.dll" v0.0 ts=2004/4/19 20:22
> 
> 
> Which Perl are you using right now;)

:) None of those; I'm using your binary distribution of 5.8.2.
 
> I have still an older snapshot version of cygwin running here:
> $ uname -r
> 1.5.8s(0.110/4/2)

And you get the ENOENT error?

> Maybe you use another version of perl, or it is s.th. different with
> the behaviour of cygwin in 1.5.10.

It (the file ending in . and the DB_File tie failure) only happens for
me on the snapshot, not on 1.5.9.

This doesn't seem to have anything to do with perl; further
experimentation shows you can create files ending with a . which are
not stat'able unless another file exists with the same name without
the dot. (and even then rm on the dotted name removes the non-dotted
file):

$ cat >foo.
bar
^D
$ cat foo
cat: foo: No such file or directory

$ cat foo.
bar

$ ls -l foo.
ls: foo.: No such file or directory

$ ls -l foo
ls: foo: No such file or directory

$ cat>foo
baz
^D
$ ls -l foo.
-rw-r--r--    1 sthoenna None            5 Apr 27 01:43 foo.

$ ls -l foo
-rw-r--r--    1 sthoenna None            5 Apr 27 01:44 foo
$ cat foo.
bar

$ cat foo
baz

$ rm foo.

$ ls -l foo*
ls: foo.: No such file or directory

$ cmd /c 'dir foo*'
 Volume in drive C has no label.
 Volume Serial Number is 7422-45EE

 Directory of C:\cygwin\home\sthoenna

04/27/2004  01:43 AM                 5 foo.
               1 File(s)              5 bytes
               0 Dir(s)  13,487,009,792 bytes free

--
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/