If your function expects a reference to an array containing a hash reference and a scalar, then its ok, otherwise you will need to dereference your args:
Having a reference to a hash and a scalar passed to the functiong is fine, so long as I can access the data stored in both of the variables. You say "then its ok"...do you mean my code should work as it is? I haven't gotten it to work so far though.