If you want an array, use an array, if you want a hash, use a hash. You create a hash with keys 1,2,3, then pass an array to the sub. The hash you created is different from the array you passed. @hash and %hash are completely separate. Basically, strict would tell you that you haven't declared @hash when you tried to pass it, even though %hash was declared and populated.
Create an array instead of a hash setting values like [tt]$hash[$i]{'conf'}[/tt] or pass a hash ref to the sub via [tt]\%hash[/tt].
________________________________________
Andrew - Perl Monkey