Como verificar a correspondência de vários padrões no Perl

Existe uma maneira de evitar usar isso para várias verificações de padrões?

Posso rasgar todos os padrões em uma matriz e verificar se ele corresponde a algum padrão na matriz de padrões? Por favor, considere o caso quando eu tiver mais de 20 seqüências de caracteres padrão.

if(  ($_=~ /.*\.so$/)
  || ($_=~ /.*_mdb\.v$/)
  || ($_=~ /.*daidir/)
  || ($_=~ /\.__solver_cache__/)
  || ($_=~ /csrc/)
  || ($_=~ /csrc\.vmc/)
  || ($_=~ /gensimv/)
){
  ...
}

questionAnswers(3)

yourAnswerToTheQuestion