Date: Fri, 27 Mar 2009 21:19:53 +0100 (CET) From: "Joost Bekkers" <joost@jodocus.org> To: "Tobias Rehbein" <tobias.rehbein@web.de> Cc: freebsd-questions@freebsd.org Subject: Re: [perl] sysopen(CD, "/dev/cd0", O_RDONLY | O_NONBLOCK) fails Message-ID: <1772.192.168.100.227.1238185193.squirrel@jodocus.org> In-Reply-To: <20090327185912.GA77908@sushi.pseudo.local> References: <20090326212045.GB3134@sushi.pseudo.local> <20090326221128.3a6d648f@gluon.draftnet> <20090327185912.GA77908@sushi.pseudo.local>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, March 27, 2009 19:59, Tobias Rehbein wrote: > Am Thu, Mar 26, 2009 at 10:11:28PM +0000 schrieb Bruce Cran: >> > Hm. Tried this and got ineresting results: > >> use POSIX; >> sysopen(CD,"/dev/cd0", O_RDONLY|O_NONBLOCK) || perror("sysopen") > works fine, but >> use POSIX; >> sysopen(CD,"/dev/cd0", O_RDONLY|O_NONBLOCK) >> print "$!" > prints "No such file or directory" > > Well, I think I'll have to accept that sysopen works but $! does not... > After > all sysopen is more important to me ;) As the perlvar manpage tells us: $! If used numerically, yields the current value of the C "errno" variable, or in other words, if a system or library call fails, it sets this variable. This means that the value of $! is meaningful only immediately after a failure. The value of $! is NOT an indicator of success or failure. It only tells you why something failed. If something succeeded $! is usualy left untouched. Joost.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1772.192.168.100.227.1238185193.squirrel>