It seems to me that this code line: $pwm_count_hash->{$pwm}) = count_pwm_num($pwm,$seq_1,$seq_2); is never executed, because of the next instruction of the previous line (unless $pm->start fails).
This is how Parallel::ForkManager works: $pm->start hides a fork() call and returns true (the child's PID) in the parent process and false in the child process. $pm->start and next makes sure that all following code is executed only in the child process, $pm->finish() at the end of the loop hides exit() and makes sure that the loop is executed only once in the child process. (Actually, Parallel::ForkManager does a little bit more. See the documentation.)
Alexander
In reply to Re^2: value uninitilized when using Parallel::ForkManager module
by afoken
in thread value uninitilized when using Parallel::ForkManager module
by plagent
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |