#! /usr/local/bin/perl use myModule; use warnings; $cb_done1 = 0; $cb_done2 = 0; @results = (); sub cb_one { ($value) = @_; print "cb_onr called. val received : ", $value, "\n"; $results[scalar(@results)] = $value; if ($value == 5) { print "cb_done changed to one.\n"; $cb_done1 = 1; } } sub cb_two { ($value) = @_; print "cb_two called. val received : ", $value, "\n"; $results[scalar(@results)] = $value; if ($value == 10) { print "cb_done2 changed to one.\n"; $cb_done2 = 1; } } print "Registering CB1...\n"; $status = myModule::RegisterCB1(\&main::cb_one); do { print "Waiting for CB1 to be done...\n"; sleep (1); } until ($cb_done1 == 1); print "CB1 was invoked : $cb_done1\n"; print "results are : @results \n"; $status = myModule::RegisterCB2(\&main::cb_two); do { print "Waiting for CB2 to be done...\n"; sleep (1); } until ($cb_done2 == 1); print "CB2 was invoked : $cb_done2\n"; print "results are : @results \n";