%# vim:syn=mason <%args> $prop => undef $name => undef $values => [] $check => undef $options => undef <%init> my $found = 0; my @chains = (); my $already_set; if ( ref $options && exists $options->{$name} ) { @chains = @{ $options->{$name} }; ($already_set) = grep { defined } (ref $check eq 'ARRAY' ? @$check : $check); }