I am still trying to grasp using case statements...Since I am new to
this, I had a question as to the speed of using CASE. I currently have
a script that has 91 if/elsif/else statements in total. Will switching
to using CASE improve the execution of the script?

On 6/11/05, Chris Devers <[EMAIL PROTECTED]> wrote:
> On Sat, 11 Jun 2005, Jeff 'japhy' Pinyan wrote:
> 
> > On Jun 11, Ron Smith said:
> >
> > > Does Perl have the equivalent of a case statement or a switch
> > > statement.  I'm trying to avoid a bunch of "if-then" statements.
> > > I'm seeing posts regarding "use switch", but I want to make sure
> > > it's not a deprecated practice. I'm using Perl -v 5.8.0.
> >
> > The Switch.pm module isn't standard with Perl, but is a way to do it...
> 
> Yes. With the standard Switch.pm module :-)
> 
>     $ perldoc -q switch
>     Found in /System/Library/Perl/5.8.1/pods/perlfaq7.pod
>            How do I create a switch or case statement?
> 
>                This is explained in more depth in the perlsyn.  Briefly,
>                there's no official case statement, because of the variety of
>                tests possible in Perl (numeric comparison, string comparison,
>                glob comparison, regex matching, overloaded comparisons, ...).
>                Larry couldn't decide how best to do this, so he left it out,
>                even though it's been on the wish list since perl1.
> 
>                Starting from Perl 5.8 to get switch and case one can use the
>                Switch extension and say:
> 
>                        use Switch;
> 
>                after which one has switch and case.  [...]
> 
> But then, the same article goes on to say...
> 
>                But if one wants to use pure Perl, the general answer is
>                to write a construct like this:
> 
>                    for ($variable_to_test) {
>                        if    (/pat1/)  { }     # do something
>                        elsif (/pat2/)  { }     # do something else
>                        elsif (/pat3/)  { }     # do something else
>                        else            { }     # default
>                    }
> 
> And more examples follow in the same document.
> 
> 
> 
> --
> Chris Devers
> 
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> <http://learn.perl.org/> <http://learn.perl.org/first-response>
> 
> 
>

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to