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>