Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: Re: Little things ;)

by Caillte (Friar)
on Dec 14, 2001 at 15:25 UTC ( #131930=note: print w/replies, xml ) Need Help??


in reply to Re: Little things ;)
in thread Little things ;)

This was more the thing I had in mind when I started this debate. You see, when asked my mindset was heavily into dereferencing due to working on writing a program to extract data from a hashref of a hashref of a hashref. So it was probably mostly due to that that I responded the way I did instead of using the more familiar, and readable, scalar(keys %hash)).

To me, this is the great advantage, as well as the greatest potential hazard, of using perl. It is easy to write code differently depending on how you are thinking at the time, the phase of the moon, the weather, the day of the week and a million other reasons. What I was interested in seeing was, not who can obfuscate; we have another section for that, but who has written down any of those little syntactic gems that are only possible in a language like perl.

This page is intentionally left justified.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://131930]
help
Chatterbox?
[Lady_Aleena]: Good morning Corion, I hope you have a wonderful day as well. 8)
[Corion]: Yesterday I encountered an interesting data structure problem. I have a remote program that emits events, and my client listens for these events with one-shot callbacks, that is, I register the callback and if the event gets generated that callback ...
[Lady_Aleena]: robby_dobby, every day. Chaos is my life with few controls.
[Corion]: ... gets called once. The data structure for that is just a hash of arrays, mapping the event type to a queue of registered one-shots, and the first one-shot from the queue gets removed and called.
[Corion]: But now I want to register a one-shot for two events, of which only one will arrive, so my data structure doesn't work anymore...
[Lady_Aleena]: Corion, ouchy.
[Corion]: (maybe I should write this up as a SoPW) - currently, the "most efficient" data structure I come up with is a single array which I scan for the first fitting one-shot. Not efficient but I don't expect more than five outstanding one-shots anyway
[choroba]: can't you create a meta-key corresponding to the disjunction of the events?
[robby_dobby]: Corion: Heh. This whole thing smells of Strategy Pattern or MVC pattern.
[Corion]: And performance linear to the number of registered one-shots doesn't feel that bad. Maybe I should collect statistics on how many callbacks are outstanding ;)

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (9)
As of 2017-05-29 07:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?