in reply to Is a called package in thread storage?

I'll take a shot at this. I believe the only variables which are shared between threads are those which are explicitly shared using the share declaration from use threads::shared. From the threads::shared documentation:
By default, variables are private to each thread, and each newly cre-
ated thread gets a private copy of each existing variable.  This module
allows you to share variables across different threads (and pseudoforks
on Win32).  It is used together with the threads module.