#!/usr/bin/perl use strict; use warnings; our $foo; sub do_something { $foo++; print "$foo\n"; } our $running; if (!$running) { $foo = 0; $running = 1; $SIG{INT} = sub {do $0}; for (;;) { sleep (1); do_something(); } }