Glib ( the non-gui object class on which Gtk2 is built) will easily let you make a simple timer. See
Roll your own Event-loop
You can also subclass Glib but you may need to go to the maillist for help with that. See
Subclass Glib
#!/usr/bin/perl
use warnings;
use strict;
use Glib;
my $main_loop = Glib::MainLoop->new;
my $count = 1;
my $timer = Glib::Timeout->add (1000, \&timer_callback, undef, 1 );
sub timer_callback{
$count++;
print "$count\n";
return 1; # return 0 to stop timer
}
my $count1 = 1;
my $timer1 = Glib::Timeout->add (100, \&timer1_callback, undef, 1 );
sub timer1_callback{
$count1++;
print "\t$count1\n";
return 1;
}
### filehandle watch
open (FH, "+> test.log") or warn "$!\n";
Glib::IO->add_watch (fileno 'FH', ['in'], \&watch_callback, 'FH', 1 );
$main_loop->run;
####################################################################
sub watch_callback {
my ($fd, $condition, $fh) = @_;
my @lines = <FH>;
print @lines;
#always return TRUE to continue the callback
return 1;
}