or download this
sub dot_to_underscore {
my $string = $_[0]; # No copy on 5.20+, but yes, copy under <5.20
+.
$string =~ s/\./_/; # Copy made under 5.20 because of copy-on-wri
+te.
return $string; # No copy under 5.20+ until the *caller* modi
+fies the return string. But yes, the caller will get a copy pre-5.20.
}