将Perl格式化输出发送到更少

Hun*_*len 2 format perl less

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

# 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
.
Run Code Online (Sandbox Code Playgroud)

当我打电话给写时,当我打印到STDOUT时,一切都很好,但是我正在处理大量的数据而且它需要的不仅仅是页面显示; 我或其他人检查它的理想方式是少花钱.当我将程序的输出传递给less时,^L在每个新输出页面的标题之前打印一个字符.

截图: 我的程序输出管道输送到更少

这有什么办法吗?因为如果打印了该字符,那么我的标题与我的数据不对齐.

任何帮助,将不胜感激.

小智 5

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