Como se hace algo como un 'switch' de C

Roberto Ruiz Cantu rruiz@gemtel.com.mx
Tue, 9 Sep 1997 20:09:50 -0600 (CST)


Hola,

Estoy haciendo un pequeño script para separar mis mensajes en las
diferentes listas a las que estoy subscrito, para asi poder checar mas
antes mi mail personal, lo que sucede, es que, por la solución tan pobre
que mi cerebro me dío, tengo algo como lo siguiente:

if ($fields{'Sender:'} =~ /\bowner-linux-ayuda\@nuclecu\.unam\.mx\b/i) {
    $salida = ">> mail/0nuclecu-ayuda";
} elsif ($fields{'Sender:'} =~
/\bowner-linux-admin\@nuclecu\.unam\.mx\b/i) {
    $salida = ">> mail/0nuclecu-admin";
} elsif ($fields{'Sender:'} =~ /\bowner-linux-org\@nuclecu\.unam\.mx\b/i)
{
    $salida = ">> mail/0nuclecu-org";
} elsif ($fields{'Sender:'} =~ /\bowner-linux\@nuclecu\.unam\.mx\b/i) {
    $salida = ">> mail/0nuclecu-linux";
} elsif ($fields{'Sender:'} =~ /\bowner-linux\@linux\.com\.ar\b/i) {
    $salida = ">> mail/0argentina-linux";

... etc. etc. etc.

El hash %fields, se llena con la cabecera del mensaje según un ejemplo del
libro PERL 5 Interactive Course, de The Waite Group, medio le entiendo,
pero pienso que en Perl existe una forma más facil de hacerlo.

Cualquier ayuda que me puedan ofrecer la agradecere mucho, si necesitan el
script completo (solo 3k aprox.) lo puedo enviar a la lista o en mail
personal, esta mucho muy espaguitudo, pero es el primer script perl
interesante que he hecho en toda mi vida y estoy muy orgulloso de el ;)

Saludos
Roberto