#!/usr/bin/perl use warnings; use strict; sub callback { for my $n (1..3){ print "callback: $n\n"; sleep(1); } } sub my_caller { my ($i, $func) = @_; print "caller calling callback\n"; &$func(); } # main my_caller(10, \&callback); for my $n (10..12){ print "main: $n\n"; sleep(1) }