在Perl中,如果我运行此代码:
print $a
它什么都不打印,告诉我$a
(或任何其他不特殊的变量)的价值undef
.
但是,如果我运行此代码:
print $%
我反而得到这个:
0
从Perldoc中的perlvar我看到这个描述$%
:
当前所选输出通道的当前页码.
我不明白.什么输出通道?一个像STDOUT,还是其他什么?
这与Perls格式/报告功能有关,它允许您编写有点看起来像最终产品的屏幕格式布局,而不是在代码中连接一堆字符串.适用于基于终端的旧应用程序.
Perldoc $%
特别说:
当前所选输出通道的当前页码.
其余的页面格式化变量可能会给你一个关于可以做什么的提示.
$%
- $FORMAT_PAGE_NUMBER
当前所选输出通道的当前页码.
$=
- $FORMAT_LINES_PER_PAGE
当前所选输出通道的当前页面长度(可打印行).默认值为60.
$-
- $FORMAT_LINES_LEFT
当前所选输出通道页面上剩余的行数.
$~
- $FORMAT_NAME
当前所选输出通道的当前报告格式的名称.默认值是文件句柄的名称.