in reply to Re: Values passed into a sub routine
in thread Values passed into a sub routine

This is the way to go imho. Remove the $ in the parameter names though (so account => "test" instead of $account => "test") I like this idiom:
sub build_url { my %param = ( fname => "default value", ..., @_ ); ... # do stuff with $param{account} etc. }