Could JavaFan explanation have been accidentally activated by the way we wrote the application?I've no idea which explanation you are referring to.
But if your application "works", it doesn't work in the way you think it does. Forked processes do not share data*,**. Not on the OS level, and certainly not on Perl level. If you think otherwise, it will be easy for you to present to us a short, stand alone piece of code that proves different. Until you do so, I will refuse to believe you.
*There's a level of indirect sharing. If you have open file descriptors when forking, the OS will give the child and parent their own copy of the descriptors -- but the descriptors will still point to the same file pointer. That's why you often see children close one or more of STDIN, STDOUT or STDERR after forking.
**Well, for the past couple decades, OSses usually use copy-on-write when forking, so process may "share" data (or rather 'memory pages') that neither of them have written to. But this is just a pointer trick deep in the bowels of your OSses memory management.
In reply to Re^11: Defining global variable in a subroutine
by JavaFan
in thread Defining global variable in a subroutine
by bihuboliya
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |