在Perl中,如果我运行此代码:
print $a
它没有打印任何内容,告诉我$a
(或任何其他不特殊的变量)的值undef
。
但是,如果我运行此代码:
print $%
我反而得到了这个:
0
从perldvar perldvar我看到$%
的这个描述:
当前所选输出通道的当前页码。
我不明白。什么输出通道?一个像STDOUT,还是别的什么?
答案 0 :(得分:5)
这与Perls format/report feature有关,它允许你编写一个看起来像最终产品的屏幕格式布局,而不是在代码中连接一堆字符串。适用于旧的基于终端的应用程序。
Perldoc says of $%
in particular:
当前所选输出通道的当前页码。
其余的页面格式化变量可能会给你一个关于可以做什么的提示。
$%
- $FORMAT_PAGE_NUMBER
当前所选输出通道的当前页码。
$=
- $FORMAT_LINES_PER_PAGE
当前所选输出通道的当前页面长度(可打印行)。默认值为60。
$-
- $FORMAT_LINES_LEFT
当前所选输出通道页面上剩余的行数。
$~
- $FORMAT_NAME
当前所选输出通道的当前报告格式的名称。默认值是文件句柄的名称。
答案 1 :(得分:1)
答案 2 :(得分:1)
$%
与用于创建报告的Perl格式相关。 $%
表示报告时的报告页码。
您可以找到有关如何使用Perl formatting的更多详细信息。
默认情况下,$%最初设置为零,并在每次新页面开始时递增。要更改分页,请在打印之前(或期间)更改$%的值
输出通道可以是文件或打印机套接字,您可以在其中编写格式化报告。