$master_thread = threads->create( \&sub1, $para ); .... .... sub sub1{ my $tmp = shift; ## not work as expected, I don't know why? my $sub_thread = threads->create( \&sub2, $tmp ); .... .... } sub sub2{ my $value = shift; print $value; }