Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Non blocking multiple socket handles as hash keys

by repson (Chaplain)
on Jun 25, 2001 at 18:27 UTC ( #91287=note: print w/replies, xml ) Need Help??


in reply to Non blocking multiple socket handles as hash keys

Firstly you possibly could just use a normal hash, since the same socket should (maybe?) always stringify to the same thing (since the object will be in same memory location until destroyed), thus allowing you to do it the simple obvious way.

Otherwise you could create a subclass of IO::Socket which allows extra data to be stored in the object, or just use the syntax on a normal IO::Socket:

my $sock = IO::Socket->new(...); ${*$sock}{my_connection_data} = 3; ... print ${*$sock}{my_connection_data};
I found that syntax in the IO::Socket code a while ago when I was trying to do much the same thing, however I can't remember how well it worked when using IO::Select and everything. Of course it may not be the `right' to play with the reference like this. And this method will likely be broken with Perl 6.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://91287]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (9)
As of 2016-12-09 15:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:













    Results (152 votes). Check out past polls.