$mw->after( 1000, sub{ $hour = 3 } );
$mw->after( 1000, sub{ $minute = 30 } );
####
my $minute = 30;
$mw->update;
$mw->after( 1000, sub{ $minute++; } );
####
#!/usr/bin/perl
package Tk;
use Tk::Trace;
package main;
use Tk;
use Tk::Gauge;
use strict;
use warnings;
my $mw = MainWindow->new;
my( $hour, $minute ) = (12,12);
my $clock = $mw->Gauge(
-extent => -359.9, # 360 loses outline
-from => 0,
-huboutline => 'black',
-majortickinterval => 5,
-majorticklabelscale => 12.0 / 60.0,
-majorticklabelskip => [ 0 ],
-minortickinterval => 1,
-needles => [
{
-radius => 100,
-variable => \$minute,
},
{
-radius => 60,
-variable => \$hour,
},
] ,
-start => 90,
-to => 60,
)->pack;
$mw->repeat(200 => sub {$hour = 1.2 * 5; $minute = 12; } );
MainLoop;