理想情况下,跨平台的东西.
print "\033[2J"; #clear the screen print "\033[0;0H"; #jump to 0,0
CPAN可能是最好的方式.看看Term :: Screen:Uni:
require Term::Screen::Uni; my $scr = new Term::Screen::Uni; $scr->clrscr()
我通常使用CPAN中的Term :: ANSIScreen,它为我提供了各种有用的与控制台相关的功能.
use Term::ANSIScreen qw(cls); cls();
从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;
如果你在谈论终端,我会使用像Curses lib这样的东西.
有一个很好的Curses模块可以访问它,你可以这样使用:
perl -MCurses -e '$win=new Curses;$win->clear()'
在OS X和Linux下,您可以使用以下Perl命令:
system("clear");
不知道Windows下的等价物是什么.
编辑:Windows等效于:
system("cls");