Thanks for your answer and for bugging me :) with argument passing and closures: I had no idea it was a lack of robustness in perl (or just Tk?). I have literally hundreds of variables handled in dozens of hashes so I feel kind of reluctant to rewrite my subroutines so they take arguments and return variables. For the moment I turned towards choroba patch and interpolate as much as possible.
I also forwarded the post to rt.Tk as you suggested.
Best