#!/usr/bin/perl use strict; use warnings; use threads; my $thr = async { for(1..10){ warn "in thread $_\n"; sleep 1; } }; sub create_thread { warn "in create_thread() before async()\n"; # my $thr = async { warn "in thread\n"; }; warn "in create_thread() before join()\n"; sleep 2; $thr->join; warn "in create_thread() before return\n"; return; } use Event; my $timer = Event->timer( cb => \&create_thread, after => 2); warn "starting event loop\n"; Event::loop;