我似乎记得Perl5格式只适用于包变量,而且 PBP 好像是在第449页的后面:
但是,快速测试似乎显示了另一种情况(使用5.8.9、5.10.0和5.12.1进行测试):
#!/usr/bin/perl use strict; use warnings; my $foo = "hello world"; write; format STDOUT = @<<<<<<<<<<<<<<< $foo .
是Perl5的某个版本发生了变化,还是我误解了什么?
从5.001开始?从 perlform :
perlform
词法变量(用“我”声明)在格式内是不可见的,除非该格式声明在词法变量的范围内。(在5.001版本之前根本看不到它们。)