in reply to Re^4: thread::share problem
in thread thread::share problem
Okay. The almost certain cause of the panic:COND_DESTROY message is because you are defining thread functions inside other functions. Here:
sub GETSHIT { sub workder { $ips = shift; ...
And here:
sub asama4 { # ok i'm getting and printing of the array (@REVERSESITES) element +s , lock() is working print $_,"\n" for @REVERSESITES; $getnumm = scalar @REVERSESITES; $Progress_bars->SetRange(0,$getnumm); sub workerss { my $urladdr = shift; ...
But, your code is so badly written and formatted that I am not prepared to expend any energies on trying to fix it.
My advice to you is that you should either: a) start with a simpler project and learn to write clean, structured code before you attempt something as complex as this; or b) employ a proper programmer to write this for you.
Have you ever watched one of the TV game-shows where they bring in an expert pizza maker or master potter or similar, and have them demonstrate their skills for about 2 minutes; before asking one or more of their victims contestants to try and replicate what the expert did?
Of course, as expected, the contestants end up covered in pizza dough/wet clay and offer up an unrecognisable pile of something for the expert to judge. In this context, your posted code is that unrecognisable pile of something. Sorry if that is harsh, but not everyone is cut out to be a programmer.
If you posted a new version that was properly indented and compiled with strict & warnings, I might take another look, but as is:
C:\test>\perl32\bin\perl.exe -c 970227.pl 'use Win32::GUI;' is currently exporting constants into the callers sc +ope. This functionality is deprecated. Use 'use Win32::GUI();' or lis +t your required exports explicitly instead. at 970227.pl line 4 Global symbol "@GENERALURLPOOL" requires explicit package name at 9702 +27.pl line 45. Global symbol "$result" requires explicit package name at 970227.pl li +ne 45. Global symbol "@GENERALURLPOOL" requires explicit package name at 9702 +27.pl line 48. Global symbol "$Progress_bars" requires explicit package name at 97022 +7.pl line 49. Global symbol "@GENERALURLPOOL" requires explicit package name at 9702 +27.pl line 50. Global symbol "$Progress_bars" requires explicit package name at 97022 +7.pl line 51. Global symbol "$Progress_bars" requires explicit package name at 97022 +7.pl line 52. Global symbol "@GENERALURLPOOL_2" requires explicit package name at 97 +0227.pl line 53. Global symbol "$Progress_bars" requires explicit package name at 97022 +7.pl line 55. Global symbol "$Progress_bars" requires explicit package name at 97022 +7.pl line 56. Global symbol "$Win" requires explicit package name at 970227.pl line +57. Global symbol "$getsinir" requires explicit package name at 970227.pl +line 62. Global symbol "@GENERALURLPOOL_2" requires explicit package name at 97 +0227.pl line 62. Global symbol "$Progress_bars" requires explicit package name at 97022 +7.pl line 63. Global symbol "$getsinir" requires explicit package name at 970227.pl +line 63. Global symbol "$geturl" requires explicit package name at 970227.pl li +ne 64. Global symbol "@GENERALURLPOOL_2" requires explicit package name at 97 +0227.pl line 64. Global symbol "@IPPOOL" requires explicit package name at 970227.pl li +ne 65. Global symbol "$ips" requires explicit package name at 970227.pl line +65. Global symbol "$Progress_bars" requires explicit package name at 97022 +7.pl line 67. Global symbol "$Progress_bars" requires explicit package name at 97022 +7.pl line 68. Global symbol "$getsinir2" requires explicit package name at 970227.pl + line 69. Global symbol "@IPPOOL" requires explicit package name at 970227.pl li +ne 69. Global symbol "$Progress_bars" requires explicit package name at 97022 +7.pl line 70. Global symbol "$getsinir2" requires explicit package name at 970227.pl + line 70. Global symbol "$Win" requires explicit package name at 970227.pl line +71. Global symbol "$ips" requires explicit package name at 970227.pl line +77. Global symbol "$numbers" requires explicit package name at 970227.pl l +ine 82. Global symbol "$numbers" requires explicit package name at 970227.pl l +ine 82. Global symbol "$Win" requires explicit package name at 970227.pl line +83. Global symbol "$Progress_bars" requires explicit package name at 97022 +7.pl line 89. Global symbol "$Progress_bars" requires explicit package name at 97022 +7.pl line 90. Global symbol "@IPPOOL" requires explicit package name at 970227.pl li +ne 93. Global symbol "$Win" requires explicit package name at 970227.pl line +97. Global symbol "$getnumm" requires explicit package name at 970227.pl l +ine 109. Global symbol "$Progress_bars" requires explicit package name at 97022 +7.pl line 110. Global symbol "$getnumm" requires explicit package name at 970227.pl l +ine 110. Global symbol "$Progress_bars" requires explicit package name at 97022 +7.pl line 113. Global symbol "$Progress_bars" requires explicit package name at 97022 +7.pl line 114. Global symbol "@URLPOOL" requires explicit package name at 970227.pl l +ine 117. BEGIN not safe after errors--compilation aborted at 970227.pl line 120 +.
I'm not prepared to expend any more of my time on it.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^6: thread::share problem
by merlol (Initiate) on May 13, 2012 at 10:35 UTC |