use Event; $WatchObj = Event->timer('after' => 1, 'repeat' => 1, 'parked' => 1, 'cb' => sub { print "printing from with in sub routine \n"; } ); ## since used parked =1 , so called start explicitly. $WatchObj->start(); while (1) { }