Just another Perl shrine | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
Some of my thoughts: Not sure if it is useful, but how about calling the coderef with the value it triggerd? (as in, $case->("cat"); runs the coderef of the animal with the argument 'cat') Here is a suggestion of which I'm really not sure: maybe it would be better to use a different name then 'new'? Pepole might expect a blessed reference and not a coderef... when you use new someone might think he should do something like $case->do_case(), so be really careful with how you name it... And an identifier for the default code/value might be useful aswell, and/or maybe a continue/finalise block? (I did see some discussion about finalise before (but that was in another language), I leave it up to you to decide wheter or not that is useful) A suggestion I was planning to make when I first looked at it was to allow a scalar instead a coderef too, but after taking a better look I realised this was not possible, since multiple keys can refer to the same code. (unless when there is a static-element added before the start of every key-block... which would mean you can just look at the one matched before, but this will make it more complex I guess) update: typo :( In reply to Re: Switch/case as a jump table with C-style fall-through
by Animator
|
|