$%的描述是什么意思?

时间:2015-12-22 22:36:49

标签: perl

在Perl中,如果我运行此代码:

print $a

它没有打印任何内容,告诉我$a(或任何其他不特殊的变量)的值undef

但是,如果我运行此代码:

print $%

我反而得到了这个:

0

从perldvar perldvar我看到$%的这个描述:

  

当前所选输出通道的当前页码。

我不明白。什么输出通道?一个像STDOUT,还是别的什么?

3 个答案:

答案 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)

$%format有关。

  

当前所选输出通道的当前页码。

答案 2 :(得分:1)

$%与用于创建报告的Perl格式相关。 $%表示报告时的报告页码。

您可以找到有关如何使用Perl formatting的更多详细信息。

  

默认情况下,$%最初设置为零,并在每次新页面开始时递增。要更改分页,请在打印之前(或期间)更改$%的值

输出通道可以是文件或打印机套接字,您可以在其中编写格式化报告。