in reply to access array of values without a loop

So you have a hash where keys are column names and values are arrayrefs of column values. In other words, data for a single record is spread over multiple arrays and this is, I gather, what irritates you, I am getting it right?

If so, then it might take some work to prepare it but a more intuitive data structure would be to have an array of hashrefs where each hashref will contain all necessary data for one db record, e.g.
[ {TAGET => 5, ACTIONTYPE =>2}, {TAGET => 6, ACTIONTYPE =>1}, ]
Then, when you have to do insertions, you will loop through this array, and getting values for inserting each record will be trivial and easy to understand. Hope this helps.