* Luinrandir Hernsen <[EMAIL PROTECTED]> [2004-01-23T09:38:12]
> Hallo everyone and thank you for your previous help
> 
> in basic the code would be
> Select Case
> ...
> end select
> 
> how is this done in perl?

Well, this is a common question.  In fact, it's a frequently asked one
with an entry in the perlfaq.  This kind of construct is called, in many
languages, a switch.  You can see the FAQ's answer by running "perldoc
-q switch" or by looking for the switch/case question in perlfaq7.

Your example was specific, so I can give a specific answer or two:

for (1 .. 100)  {
  unless ($_ % 10) { 
    print "divisible by ten\n";
  }
}

That's about what you said, right?  For every number from 1 to 100, do
something at the ten's.  Of course, someone more familiar with C (or
with the syntax of 'for') might say:

for (my $i = 1; $i <= 100; $i+=10) {
        print "$i is divisible by ten!\n";
}

This skips a condition, incrementing $i by ten every time.

See, Perl was designed knowing that there are a whole lot of ways to use
a switch, and a whole lot of ways one might implement it specifically.
So, rather than canonize one, a single "switch" statement is left out.
The best thing to do is figure out how to solve the problem the best
way.

There does exist a module called Switch that will give you a switch/case
statement, but it's not really for production use.  It's a neat idea,
but isn't ready for prime time.

Does that answer your question?

-- 
rjbs

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to