有人可以帮忙澄清一下吗?另外,请提及是否有“$|”的其他表示。
提前致谢。
我所知道的没有实际区别;$|
只存储一个布尔值(0 或 1),因此递增它永远不会导致除 1 之外的任何值。微微优化器可能会告诉您 ++ 更快。
另一方面,减少它就像一个切换,但我想不出在生产代码中这样做的任何充分理由:你想要它打开还是关闭。
$|
是超级神奇的,所以$|++
和$| = 1;
但是当你可以做你的意思时为什么要依赖魔法($| = 1;
)?
$的价值| 从 0 开始,所以 $|++ 从 0 递增到 1 而 $| = 1 将其设置为 1。但是请注意,它的值永远不能通过递增或赋值设置为高于 1,例如 $| = 2 仍为 1。
$|
您几乎肯定不想像现代代码那样摆弄低级细节。这要好得多,而且更明显可读性写成
use IO::Handle;
STDOUT->autoflush(1);