多进程环境下 一个没搞明白的问题

多进程环境下 一个没搞明白的问题

这段代码是我用写的一个多进程服务中的一段

[Copy to clipboard] [ - ]
CODE:
sub user_online {
        my $sock_data = shift;
        if($sock_data =~/(.*)\|(.*)/)
        {
                my ($user_key,$user_id) = ($1,$2);
                print $user_key ."--------". $user_id . "\n";
                print $user_id . "_key\n";
        }
}

基于我的多进程环境的输出结果 重新打印$user_id 就是不行!

[Copy to clipboard] [ - ]
CODE:
321<-------->2
_key

代码单独拿出来就一点问题没有
已经定义my的局部变量 在多进程环境下 会互相影响么?调试的时候 只有一个进程在操作记录
我记得多进程环境 是不能共享对象的

多进程可以透过PIPE向parent process传数据...
也可以透过share memory分享变量...

至於你的问题..可能在
                print $user_key ."--------". $user_id . "\n";
                print $user_id . "_key\n";
中间有其他代码...把user_id清除了...
如果没有....那我就不知道了..没碰过你的问题...