in reply to Re^2: variable access
in thread variable access

I used "return" ...

But how did you use return? Are you saying that adding the statement
    return $tura;
after the debug print statement that showed you that  $tura was something you expected and then assigning the returned value to another lexical
    my $other_lexical = tura();
passed nothing back from the subroutine? This seems doubtful...


Give a man a fish:  <%-(-(-(-<

Replies are listed 'Best First'.
Re^4: variable access
by Anonymous Monk on Jan 06, 2015 at 20:02 UTC

    passed nothing back from the subroutine? This seems doubtful...

    You don't return from a callback :) unless the caller expects you to return ... Tk usually doesn't expect return values from callbacks ... op either needs to stuff $tura into a widget, or another object, which is done by giving it the object/widget as reference, or making the object/widget a global

    this means

    sub tura { ... $globals{tura} = $tura; ... -browsecmd => [ \&tura, \%globals ], ... sub tura { ... my( $globals_ref ) = @_; $globals_ref->{tura} = $tura; + ... -browsecmd => [ \&tura, \$original_tura ], ... sub tura { ... my( $tura_ref ) = @_; $$tura_ref = $tura;
      -browsecmd=>\&tura

      Ah! I missed the fact that  tura() was a callback. Nevermind...


      Give a man a fish:  <%-(-(-(-<

      Thank you for trying to help me, in about 8 hours I'll use your indications and let you know if it will be ok.