sub something { #takes a hashref as an argument. creates a copy of the hash, scans each of the values for any occurence of a comma and if necessary, adds a space after it. #Returns a hashref to a newly constructed, thus corrected, hash. my $hashref = shift; unless(ref($hashref) eq 'HASH') { print "argument to \'something\' must be a hash reference"; return; } my %oldhash = %{$hashref}; my %newhash; foreach my $key (keys(%oldhash)) { my $value = $oldhash{$key}; $value =~ s/,/, /g; $newhash{$key} = $value; } return \%newhash; }