use warnings; use strict; use Async::Event::Interval; my $event = Async::Event::Interval->new( 2, # number of seconds between execs \&callback, # code reference, or anonymous sub 'https://google.ca' # parameters to the callback ); $event->start; sleep 3; # your app does other stuff here sub callback { my ($url) = @_; print "$url\n"; }