|Think about Loose Coupling|
Switchby Cow1337killr (Monk)
|on Aug 06, 2016 at 16:22 UTC||Need Help??|
Item Description: Switch - A switch statement for Perl, do not use if you can use given/when
Review Synopsis: The Switch module should be marked deprecated.
My thesis is that the Switch module should be marked deprecated.
One will find that many Perl Monks advise fellow programmers not to use the Switch module in any Perl program that even hints at eventually becoming production status source code. (The evidence is in the paragraphs below.)
This proposed deprecation marking is for the benefit of beginning and intermediate Perl programmers.
In most cases, advanced Perl programmers know better than to use it in serious source code, because many of them spend time at Perl Monks , stackoverflow, or in IRC channels devoted to Perl programming and see the (sad) results of beginning and intermediate Perl programmers being lured into using this module.
One more administrative detail to deal with here: This review is part of a larger project to deprecate the Switch module. For details, please read this post describing a step by step recipe for deprecating this module (or any module) by hippo.
Below, I offer some hyperlinks that (I hope) will convince the reader that the Switch module should be deprecated.
I have "set the table". By now, the reader should be thinking "Such a strange module with a strange history". If you are "ready to dine", please read on.
In the recent post by hippo entitled Re^7: Perl Code Changes Behavior if Two Subroutine definitions are swapped, he references a Switch module bug report:
If the reader is still here at this point, it must be because he/she craves still more detail, because the bug report mentioned above should have satiated most of the audience. But, I can offer more for those that are "still hungry".
Here are some Perl Monks threads on the subject. It is not a complete list. For this task, I did a Google search with a query of site:perlmonks.org switch.
I hope that this review has convinced the reader that the Switch module should be marked deprecated.