Variable "@perl_widgets" will not stay shared at P:\test\422088.pl line 3475. Variable "@checks_antiflats" will not stay shared at P:\test\422088.pl line 4999. Variable "@antiflats_cmd" will not stay shared at P:\test\422088.pl line 5005. Variable "@antiflats_nb" will not stay shared at P:\test\422088.pl line 5035. Variable "@antiflats_ms" will not stay shared at P:\test\422088.pl line 5056. Variable "@checks_antiflats" will not stay shared at P:\test\422088.pl line 5076. Variable "$frame_ps_options" will not stay shared at P:\test\422088.pl line 5087. Variable "$frame_ps_options" will not stay shared at P:\test\422088.pl line 5104. Variable "$frame_ps_options" will not stay shared at P:\test\422088.pl line 5122. Variable "$frame_ps_options" will not stay shared at P:\test\422088.pl line 5138. Variable "$pythag_flag_last_time" will not stay shared at P:\test\422088.pl line 5163. Variable "$frame_ps_options" will not stay shared at P:\test\422088.pl line 5169. Variable "$pythag_flag_last_time" will not stay shared at P:\test\422088.pl line 5192. Variable "$frame_ps_options" will not stay shared at P:\test\422088.pl line 5218. Variable "$frame_ps_options" will not stay shared at P:\test\422088.pl line 5318. Variable "@antiflats_nb" will not stay shared at P:\test\422088.pl line 5324. Variable "@antiflats_ms" will not stay shared at P:\test\422088.pl line 5325. Variable "$frame_ps_options" will not stay shared at P:\test\422088.pl line 5349. Variable "@antiflats_nb" will not stay shared at P:\test\422088.pl line 5366. Variable "@antiflats_ms" will not stay shared at P:\test\422088.pl line 5370. Variable "$frame_ps_options" will not stay shared at P:\test\422088.pl line 5422. Variable "@antiflats_nb" will not stay shared at P:\test\422088.pl line 5428. Variable "@antiflats_ms" will not stay shared at P:\test\422088.pl line 5429. #### Variable "@perl_widgets" will not stay shared at P:\test\422088.pl line 3475 (#4) (W closure) An inner (nested) named subroutine is referencing a lexical variable defined in an outer subroutine. When the inner subroutine is called, it will probably see the value of the outer subroutine's variable as it was before and during the *first* call to the outer subroutine; in this case, after the first call to the outer subroutine is complete, the inner and outer subroutines will no longer share a common value for the variable. In other words, the variable will no longer be shared. Furthermore, if the outer subroutine is anonymous and references a lexical variable outside itself, then the outer and inner subroutines will never share the given variable. This problem can usually be solved by making the inner subroutine anonymous, using the sub {} syntax. When inner anonymous subs that reference variables in outer subroutines are called or referenced, they are automatically rebound to the current values of such variables.