Thank you for trying and being able to reproduce the problem. After a couple of attempts, I've been able to narrow the problem to two issues.
IT APPEARS TO ME TO BE A BUG IN Tk.
- setting -selectbackground at the ItemStyle level doesn't work. It can only be done at the Tree level (which mean as all entries in the tree need to have same selectbackground color). That said, there are no such issues at all with -selectforeground option.
- when -selectbackground is set at the ItemStyle level AND has the same value (i.e. 'cyan' in the above code for both the ItemStyle objects), the -font option gets messsed up and thereby the last -font option encountered while executing the code gets used (i.e. see Question 2: above)
However, I'm a perl newbie and experienced monks out here will have to confirm it first so that it can be filed to get it fixed.
PS: I've moved the $tree_element declaration inside the sub.