my @rules = ( { name => 'name1', re => qr/regex1/, color => 'yellow', }, { name => 'name2', re => qr/regex2/, color => 'green', }, { name => 'default', re => qr/.*/, color => '', }, ); #### #!/usr/bin/perl use strict; use warnings; use Term::ANSIColor; use List::Util qw(max sum first); ... $class = '...'; $color = first { $class =~ /$_->{'re'}/ } @rules; $color = $color->{'color'};