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. _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"