3

我已经定义了这样的格式:

# header format
format STDOUT_TOP = 
pid    ppid   start_addr   uid   gid   state     vsz   rss     name 
--------------------------------------------------------------------------
.

# data format
format STDOUT = 
@>>>  @>>>   @>>>>>>>>>>  @>>>  @>>>  @>>>    @>>>>>  @>>>  @<<<<<<<<<<<<<<<<<<<
$pid, $ppid, $h_next,     $uid, $gid, $state, $vm,    $rss, $name
.

当我调用 write 时,当我打印到 STDOUT 时,一切都很好,但是我正在处理大量数据,并且需要超过一页才能显示;我或其他人检查它的理想方法是少用。当我将程序的输出通过管道传输到 less^L时,每个新输出页面的标题之前都会打印一个字符。

截屏: 我的程序的输出通过管道传输到更少

有没有办法解决这个问题?因为如果打印了该字符,那么我的标题与我的数据未对齐。

任何帮助,将不胜感激。

4

1 回答 1

6

那是一个 ASCII 换页符。它可能在两种情况下都被打印出来,但less实际上是在显示它。根据perlformperlvar, perl 正在输出$^L(或$FORMAT_FORMFEEDuse English)的内容。尝试将该 var 设置为空字符串或换行符。

于 2012-03-29T06:25:06.243 回答