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>