in reply to Hash initialisation

How about this hash slice?

@args_hash{ @fields } = split(/;/) ;

use strict; to make perl tell you when you get some variable capitalisation/spelling wrong.
Also test if split is actually doing the right thing there =)

Cheers, Sören