Um, you obtain $CONSOLE at the top of your code and "share" it via closure(*) with the thread routine.
And in your thread routine you use $CONSOLE...once. Then, for no apparent reason, you switch to using $threadCONSOLE which is never declared or initialised.
And despite your post showing use strict; at the top, when I try syntax checking it, I get:
C:\test>perl -c 632320.pl Global symbol "$i" requires explicit package name at 632320.pl line 17 +. Global symbol "$i" requires explicit package name at 632320.pl line 17 +. Global symbol "$i" requires explicit package name at 632320.pl line 17 +. Global symbol "$i" requires explicit package name at 632320.pl line 18 +. Global symbol "$i" requires explicit package name at 632320.pl line 22 +. Global symbol "$i" requires explicit package name at 632320.pl line 22 +. Global symbol "$i" requires explicit package name at 632320.pl line 22 +. Global symbol "$i" requires explicit package name at 632320.pl line 23 +. Global symbol "$i" requires explicit package name at 632320.pl line 24 +. Global symbol "$i" requires explicit package name at 632320.pl line 24 +. Global symbol "$i" requires explicit package name at 632320.pl line 25 +. Global symbol "$i" requires explicit package name at 632320.pl line 34 +. Global symbol "$i" requires explicit package name at 632320.pl line 34 +. Global symbol "$i" requires explicit package name at 632320.pl line 34 +. Global symbol "$i" requires explicit package name at 632320.pl line 35 +. Global symbol "$inPattQty" requires explicit package name at 632320.pl + line 69. Global symbol "$outPattQty" requires explicit package name at 632320.p +l line 69. syntax error at 632320.pl line 73, near ") {" 632320.pl has too many errors.
Update: hacking my way past all the errors and warnings, your code seems to run:
In reply to Re: multi-threaded win32::console
by BrowserUk
in thread multi-threaded win32::console
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |