in reply to Advice: Async Options for fire-and-forget subroutine

My Async::Event::Interval may be of use here. It's exceptionally rudimentary in what it does.

This software is designed to run your async event at specific intervals (every number of seconds). Here is a very brief example:

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"; }

If you do only want it to run a single time, kill the proc after it does its work:

sub callback { my ($url) = @_; print "$url\n"; kill 9, $$; }

Then, if you want to spin it up manually later, just call $event->start again. If you need more arguments, append them in list form to the end of the new() call.