当前位置:  开发笔记 > 编程语言 > 正文

在Perl中清除屏幕的最佳方法是什么?

如何解决《在Perl中清除屏幕的最佳方法是什么?》经验,为你挑选了6个好方法。

理想情况下,跨平台的东西.



1> 小智..:
print "\033[2J";    #clear the screen
print "\033[0;0H"; #jump to 0,0


不需要安装,也不会在某些平台上运行.

2> zigdon..:

CPAN可能是最好的方式.看看Term :: Screen:Uni:

require Term::Screen::Uni;
my $scr = new Term::Screen::Uni;

$scr->clrscr()



3> tsee..:

我通常使用CPAN中的Term :: ANSIScreen,它为我提供了各种有用的与控制台相关的功能.

use Term::ANSIScreen qw(cls);
cls();



4> brian d foy..:

从perlfaq8的回答我如何清除屏幕:


要清除屏幕,您只需打印告诉终端清除屏幕的特殊序列.完成序列后,在想要清除屏幕时输出.

您可以使用Term :: ANSIScreen模块来获取特殊序列.导入cls函数(或:screen标签):

use Term::ANSIScreen qw(cls);
my $clear_screen = cls();

print $clear_screen;

如果要处理终端控制的低级细节,Term :: Cap模块也可以获得特殊序列.Tputs方法返回给定功能的字符串:

use Term::Cap;

$terminal = Term::Cap->Tgetent( { OSPEED => 9600 } );
$clear_string = $terminal->Tputs('cl');

print $clear_screen;

在Windows上,您可以使用Win32 :: Console模块.在为要影响的输出文件句柄创建对象后,调用Cls方法:

use Win32::Console;

$OUT = Win32::Console->new(STD_OUTPUT_HANDLE);
$OUT->Cls;

如果你有一个命令行程序来完成这项工作,你可以用反引号调用它来捕获它输出的内容,以便你以后可以使用它:

$clear_string = `clear`;

print $clear_string;



5> Sec..:

如果你在谈论终端,我会使用像Curses lib这样的东西.

有一个很好的Curses模块可以访问它,你可以这样使用:

perl -MCurses -e '$win=new Curses;$win->clear()'



6> 小智..:

在OS X和Linux下,您可以使用以下Perl命令:

system("clear");

不知道Windows下的等价物是什么.

编辑:Windows等效于:

system("cls");

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有