my $id = SDL::Timer::add_timer( $ms_interval, $callback );
This runs in a separate thread and a cloned Perl thread.
threads and threads::shared must be used to share any variables the timer uses.
The $callback function, specified with a string of the functions name, will be called after the milliseconds of $interval have elapsed.
The actual delay may be longer than specified depending on the underlying OS.
The callback function is passed the current timer interval as well as the $interval parameter and should return the next timer interval.
If the return value from the callback is 0, the timer is cancelled; otherwise, the timer will continue to run.
The timer callback function may run in a different thread to your main program, so it shouldnt call any functions from within itself.
You may call SDL::push_event, however.
SDL::Time::add_timer returns the identifier value of the generated timer or undef on error.
<B>Note:B> You must initialize (SDL::init) the timer subsystem to use this function.
SDL::Timer::remove_timer( $id );
The other way to cancel a timer is to use SDL::Time::remove_timer on the $id of a timer.
This ID is the return value of the SDL::Time::add_timer function.
SDL::Time::remove_timer returns 0 on success or -1 on error.