(Updated)
I certainly agree with ar0n that tie is the way to go-- unless that looks too complicated for the case at hand.I still think the best way would be to build something similar to an If you don't want to do that, you might try an accessor method. That way you can trap the calls that set the bits and update the display variable whenever the bits get set.
But I tried to do something like making the -textvariable an anonymous sub to no avail. I ended up with debugging code in my label.
#!/usr/bin/perl -w
use strict;
use Tk;
my $Foo = 'x';
my $Bar = 'y';
my $foobar = setfoobar();
my $mw = Tk::MainWindow->new();
my $entry =
$mw->Label( -textvariable => \$foobar,
)->
pack( -expand => 'y',
);
my $foo_button =
$mw->Button( -text => "FOO",
-command => sub { flip( $Foo );}
)->pack();
my $bar_button =
$mw->Button( -text => "BAR",
-command => sub { flip( $Bar );}
)->pack();
MainLoop();
sub flip
{
$_[0] = ( $_[0] eq 'x' ) ? 'y' : 'x';
setfoobar();
}
sub setfoobar
{
$foobar = $Foo . $Bar;
}
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.