perl – 你为什么要分配给$$?

perldoc perl5150delta说:
$$can be assigned to
       $$was made read‐only in Perl 5.8.0.  But only sometimes: "local $$"
       would make it writable again.  Some CPAN modules were using "local $$"
       or XS code to bypass the read‐only check,so there is no reason to keep
       $$read‐only.  (This change also allowed a bug to be fixed while
       maintaining backward compatibility.)

$$是当前的进程ID,为什么要在世界上分配给它?

解决方法

CPAN中只有几个(字面上)的地方,人们想要分配给$$,它主要用于测试(我还没有理解IPC :: Messaging).我不喜欢这个功能,特别是因为有一个更好的方式来获得相同的效果. Perl 5 Porters添加了这个功能,因为他们可以而且他们宁愿不使这两个案例做得更好的测试.如果您阅读p5p线程,很明显,此功能不是由需要驱动的.

我在Hide low-level details behind an interface写了.

然而,我可能错了,因为我不是那么好的低级黑魔法.我知道有必要协调PID,但到目前为止,我认为$$不是唯一的办法.如果有人有可以向我解释的用例,我会更新该帖子.

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...