Есть ли способ заменить if-elsif-else в Perl на что-нибудь получше?

Я хочу создать кучу подпрограмм Perl, которые имеют один и тот же шаблон if elsif elsif else , который принимает решение на основе факторной переменной. Вот пример шаблона подпрограммы:

sub get_age{

  my $factor=shift;

  if    ($factor == 1 ){ print "do something" }
  elsif ($factor == 2 ){ print "do somthing2" }
  elsif ($factor == 3 ){ print "do somthing3" }
  elsif ($factor == 4 ){ print "do somthing4" }
  else                 { print "error"        }
  }

Мне интересно, есть ли какой-нибудь шаблон проектирования на Perl для замены условия if else более элегантным решением, которое легко поддерживать в будущем, особенно если мне нужно что-то изменить условий или удалить некоторые из них?

9
задан brian d foy 1 December 2011 в 03:08
поделиться