sub match { my $args = shift; my $entity = $args->{entity}; my $quantity = $args->{quantity}; return $args->{target} =~ m/^(?:$entity){$quantity}/; } match ({entity => 'a', quantity => 5, target => 'aaaaa'}) && print "Match\n";