Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re^2: Tk module subs executes without invocation

by dannoura (Pilgrim)
on Aug 29, 2005 at 15:45 UTC ( #487445=note: print w/replies, xml ) Need Help??

in reply to Re: Tk module subs executes without invocation
in thread Tk module subs executes without invocation

Magic. Thanks! That works. Can you explain why?

Also, another question: now that I ported all the subs from the script into a module the script reports:

Assuming require 'Tk::BrowseEntry' at line 151; Assuming require 'Tk::ProgressBar' at line 169;
Also something which it hasn't done before (this is despite a use Tk; statement at the beginning of the module and script). Why is that?

Replies are listed 'Best First'.
Re^3: Tk module subs executes without invocation
by Tanktalus (Canon) on Aug 29, 2005 at 16:28 UTC

    You can only take a reference to a subroutine of some sort in perl5 (perl6 will have more sophisticated binding to allow you to pre-populate certain parameters and pass that code ref around instead of the original routine). So here what I'm doing is creating an anonymous sub that is also a closure - it's closed on $self, retaining the current value of $self at the time of this routine. It then calls the routine we want with the parameters we want - even though the Tk code can't know what $self is to pass it in.

    As to your assuming lines - I'm not sure, I'm not a Tk user. ;-)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://487445]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (5)
As of 2016-10-28 06:48 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (375 votes). Check out past polls.