Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re: Tk::waitVariableX - AUTOLOAD failed

by hdb (Monsignor)
on Apr 09, 2013 at 15:08 UTC ( #1027762=note: print w/replies, xml ) Need Help??

in reply to Tk::waitVariableX - AUTOLOAD failed

I do not know why, seems strange object interface, but the following seems to work (experimental Perl):

waitVariableX ($mw, 5 * 1000, \$unchanged_var); # sleep 5 secon +ds

Replies are listed 'Best First'.
Re^2: Tk::waitVariableX - AUTOLOAD failed
by jowe (Sexton) on Apr 09, 2013 at 15:32 UTC
    Thanks very much. It solved the problem (dont know why).
    Thanks again - jowe

      The documentation and the code of the module are looking inconsistent. The documentation says:

      $splash->waitVariableX( [$millis, $destroy_splashscreen], \$v1, \$v2} +);

      while in the code

      sub waitVariableX { use Tie::Watch; my ($parent, $millis) = (shift, shift); # @_ has list of var refs

      the arguments have different names (and probably different meaning as well).

        It is the OO Perl. The first argument is the invocant, the second argument is the interval (but according to the documentation, might as well be an array ref). The rest of the parameters are left in @_ to be used later.

        Handling the array ref:

        if (ref $millis eq 'ARRAY') { $callback = Tk::Callback->new($millis->[1]); $millis = $millis->[0]; }

        Handling the remaining variable references:

        foreach my $vref (@_) {
        لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ
        The module description stems from the 'Mastering Perl/Tk' bible. Both usage formats are described as valid. I choose the more 'simple' one.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1027762]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2018-06-19 01:13 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (111 votes). Check out past polls.