Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^2: ~~ and list literal

by Anonymous Monk
on Oct 25, 2012 at 23:26 UTC ( #1000964=note: print w/replies, xml ) Need Help??


in reply to Re: ~~ and list literal
in thread ~~ and list literal

Hi ikegami,

Thanks, I think I get it now why it doesn't work. Pity though because my eyes want "x" ~~ ("x", "y", "z") to work, it looks intuitive.

About your suggestions: Smart::Match isn't core and it incurs some runtime penalty. And I believe grep doesn't shortcut?

Replies are listed 'Best First'.
Re^3: ~~ and list literal
by mbethke (Hermit) on Oct 26, 2012 at 01:49 UTC

    Funny, I ran into the exact same problem like ten minutes ago and decided to feed the error message to the Monastery which turned up this thread :) I was trying to make some older code visually simpler now that it requires 5.10.1+ anyway.

    Yeah, that listref is not the most intuitive construction although visually the square brackets work OK for me; round ones would look redundant. What I used before was List::MoreUtils, which while non-core is fairly ubiquitous and has "any" that does shortcut. Though with lists of a size that you want to specify as literals in the source it probably makes zero difference.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1000964]
help
Chatterbox?
[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 ;)
[Corion]: choroba: Yes, but the longer I thought about efficient hashes mapping the event type back to their callbacks, and how to keep them in sync, the more I thought that all that optimization might just not be worth it, even if it's horribly inelegant
[Lady_Aleena]: My biggest problem with hashes at the moment is one with 2,501 keys.
[choroba]: how many event types are there?
[Corion]: Also I found that I can't conveniently weaken an array slot, which also is inconvenient, as I want my one-shots to disappear if the caller discards them
[Corion]: choroba: Currently two or three that my program handles (WWW::Mechanize:: Chrome), but there might be more that become interesting
[Corion]: But I don't expect more than 100 to be active at the same time, so I'm not really sure if there is a not-too-fancy data structure that is maintained with few lines of code where the performance is better than the linear scan ;)
[Corion]: But I should do a mock-up program so that others can see what I'm talking about ;)
[robby_dobby]: Corion: I hope you know all too well that passing around "fancy" datastructures is a recipe for disaster :-)

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