in reply to Calling a TK Method by reference

But if I have to move the $ref outside as a global, doesn't that sort of defeat the purpose of defining it as a reference to the ListBox method?
Well... there's not really a point in making it a reference, as a ListBox is already an object (and so, a reference too) so you should be able to copy it (as I showed in the post above).

And if you don't want to make $listbox global, make it a lexical in a slightly higher scope:

# main code here... { my $listbox; sub sub_that_makes_listbox { .. }; sub sub_that_alters_listbox { .. }; }
You could also return $listbox from the first sub, and then pass it to the second. Or store $listbox in an object, or create a new closure in sub_that_makes_listbox... I tend to use all four options. Use whatever you're comfortable with.

Anyway, try looking at perlreftut and perlref for more information about references and closures.