use warnings; use strict; use feature 'say'; use Async::Event::Interval; my $delayed_event = Async::Event::Interval->new(5, \&interval_sub); $delayed_event->start; while (1) { say time; sleep 1; } sub interval_sub { say "Running interval sub"; }