use Thread; sub a{ print "MAIN\n"; 1 }; $global::var = \&a; print STDOUT "\n:Main1: ref of a()->".$global::var."\n"; print STDOUT "\n:Main2: ref of a()->:".$global::var."\n"; my $t1 = Thread->new(\&run, NULL); my $t2 = Thread->new(\&run, NULL); $t1->join; $t2->join; sub run { print "THREAD\n"; print STDOUT "\nThread: ref of a()->".$global::var."\n"; &{$global::var}; } print STDOUT "\nMain3: ref of a()->:".$global::var."\n";