Hello again:

Sorry to reply to my own message, but I know a little more now and 
could still use some clarification.

Perl's $! variable is being set by a call to close(), I'm 99% sure.  
However, this call to close() does not return undef, it succeeds.  The 
call is being made on a non blocking IO::Socket object.  Calling the 
object oriented opened() on the line before, does say it's a valid 
handle.  I'm using Perl 5.6.0 on Mac OS X.  My code does not appear to 
malfunction in any way.  Now according to Programming Perl, "...you 
shouldn't depend on the value of $! to be anything particular unless 
you've gotten a specific error return indicating a system error."  Does 
this basically mean that I can ignore this phantom error?  The error 
eventually goes (checking it in the main event loop), does this mean 
that another system call is resetting $! when it succeeds?  It does 
appear to come back when I close() another socket.

Basically any light you can shed on how the mysterious $! works is 
greatly appreciated here.  I feel like I'm chasing ghosts.  Thanks 
again for your time.

James

P.S.  It's been brought to my attention that my project isn't very 
"Beginners" oriented.  I'm aware of this, but I had hoped the questions 
were generic enough to be known, especially the debugger question.  
Well, that and I have yet to find the 
[EMAIL PROTECTED] list.  <wink>

On Sunday, October 13, 2002, at 09:50  PM, James Edward Gray II wrote:

> So, here's my main question.  What's the best way to to track down the 
> line that is setting the $! variable?  I can't quite figure out the 
> rules of this guy.  Once it's set, what clears it?  Its it localized 
> to subroutines or packages or anything?  I mean, if I'm printing this 
> error out in once place, could it be happening in a far off chunk of 
> code?  (I don't believe it's the select() complaining, but I'm not 
> totally sure.)  I've tried to use 'b CONDITION' in the debugger to 
> track it down, but I can't figure out how to write the CONDITION.  It 
> always thinks I mean a subroutine.  Any help here?  Basically, any and 
> all tips on the $! variable are needed.


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to