#!/usr/bin/perl use warnings; use strict; use Glib; my $main_loop = Glib::MainLoop->new; my $timer1 = Glib::Timeout->add (1 , \&timer1 ); # 1ms delay #1000 milliseconds = 1 second my $timer2 = Glib::Timeout->add (600000 , \&timer2 ); # 600 sec delay sub timer1{ my $pid=fork(); if($pid){ run one process; { return 0; #return 1 to keep going, return 0 to stop timer } sub timer2{ my $pid=fork(); if($pid){ run one process; { return 1; #return 1 to keep going, return 0 to stop timer } $main_loop->run;