Well spotted, you're not wrong.
That comes about because this is an as yet incomplete modification of an old subroutine with different goals. The bugs I encountered meant that I haven't gotten around to trying finishing the modifications.
But that has nothing to do with the error, as they are reproduced by this simplification:
#! perl -slw use strict; use threads; use threads::shared; sub test { my @results :shared; async { @results = 1 .. 10; }->join; print "@results"; return @results; } print test(); __END__ C:\test>junk50 1 2 3 4 5 6 7 8 9 10 Use of uninitialized value in print at C:\test\junk50.pl line 16. Use of uninitialized value in print at C:\test\junk50.pl line 16. Use of uninitialized value in print at C:\test\junk50.pl line 16. Use of uninitialized value in print at C:\test\junk50.pl line 16. Use of uninitialized value in print at C:\test\junk50.pl line 16. Use of uninitialized value in print at C:\test\junk50.pl line 16. Use of uninitialized value in print at C:\test\junk50.pl line 16. Use of uninitialized value in print at C:\test\junk50.pl line 16. Use of uninitialized value in print at C:\test\junk50.pl line 16. Use of uninitialized value in print at C:\test\junk50.pl line 16.
I didn't switch to this as my example because I could not reproduce the circumstances of the "modification of a readonly value" with this.
In reply to Re^2: One piece of code, two mysteries!
by BrowserUk
in thread One piece of code, two mysteries! (UPDATED.)
by BrowserUk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |