http://qs321.pair.com?node_id=931583


in reply to Switch Module on Perl 5.8.0

The Switch module mistakenly escaped into Perl 5.8. Do not use it. The Switch module was deprecated in Perl 5.10 and removed in Perl 5.14.

Notice that in Categorized Damian Modules, the Switch module is categorized by its author as "Damian modules you shouldn't use in production because their purpose is to explore and prototype future core language features".

You can switch to the built-in given/when if using Perl 5.10+. If stuck with Perl 5.8, I'd just use an if/elsif block instead.

See also: stackoverflow question on why the Switch module is deprecated.

Replies are listed 'Best First'.
Re^2: Switch Module on Perl 5.8.0
by AnomalousMonk (Archbishop) on Oct 16, 2011 at 03:11 UTC

    See also "Basic BLOCKs and Switch Statements" in 5.8  perldoc perlsyn for a discussion of other switch-ish alternatives.

      See also Perl Best Practices Chapter 6 (Control Structures) especially:

      • 6.16 Value Switches - Use table look-up in preference to cascaded equality tests
      • 6.17 Tabular Ternaries - When producing a value, use tabular ternaries

Re^2: Switch Module on Perl 5.8.0
by Anonymous Monk on Oct 23, 2011 at 07:08 UTC

    I'd agree with everything else everyone has said in this subthread, except this:

    The Switch module mistakenly escaped into Perl 5.8.

    Switch was deliberately put into Perl 5.8 for a very clear and specific purpose; a purpose that was eventually achieved in Perl 5.10.

    Think about it ;-)

    Damian