foreach (split /,\s*/, param('hashdata')) { my ($k, $v) = split(/=>/); whitespace(\$k,\$v); $hash{$k} = $v; } sub whitespace { while (my $ref = shift){ $$ref =~ s/^\s+|\s+$//g } }