in reply to Tk perfection

One possible solution (other than modifying the Tk module) is to use the technique you're thinking of with the
$Home = $ENV{'HOME'};
statement. Keep a few things in mind:

your $Home will be in your namespace (probably main), while Tk's is in the Tk namespace, so you'd have to do something like this:
$Tk::Home = $ENV{'HOME'};
your code (probably) won't get executed untill after the Tk module unless you surround it in a BEGIN block, like this:
BEGIN { $Tk::Home = $ENV{'HOME'}; }
The best thing to do is probably to do as already suggested, get the newest version of Tk, and fix and submit the patch if necessary.