2008-10-13 2 views

Antwort

14

Das CPAN ist wahrscheinlich der beste Weg zu gehen. Werfen Sie einen Blick auf Term::Screen:Uni:

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

$scr->clrscr() 
6

Wenn Sie über einen Terminal sprechen, würde ich so etwas wie die Flüche lib verwenden, es zu tun.

Es gibt ein schönes Curses-Modul für den Zugriff, die Sie wie folgt verwenden können:

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

ich in der Regel Term::ANSIScreen von CPAN zu benutzen, die mir alle möglichen nützlichen console-bezogene Funktionen gibt.

use Term::ANSIScreen qw(cls); 
cls(); 
22
print "\033[2J"; #clear the screen 
print "\033[0;0H"; #jump to 0,0 
+0

+1000 zu diesem Typ, diese Methode erfordert nicht, dass der Benutzer einige cpan Modul installieren (und alles, was das bedeutet) – almosnow

+9

Benötigt keine Installation, funktioniert nicht auf einigen Plattformen. – gparent

7

Von perlfaq8 ‚s Antwort auf How do I clear the screen:


den Bildschirm zu löschen, müssen Sie nur die spezielle Reihenfolge drucken, die das Terminal den Bildschirm löschen erzählt. Sobald Sie diese Sequenz haben, geben Sie sie aus, wenn Sie den Bildschirm löschen möchten.

Sie können das Term :: ANSIScreen-Modul verwenden, um die spezielle Sequenz zu erhalten. Importieren Sie die cls-Funktion (oder: Bildschirm-Tag):

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

print $clear_screen; 

Der Term :: Cap-Modul kann auch die besondere Sequenz erhalten, wenn Sie mit den Low-Level-Details der Terminal-Steuerung beschäftigen möchten. Die Tputs Methode gibt die Zeichenfolge für die gegebene Fähigkeit:

use Term::Cap; 

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

print $clear_screen; 

Unter Windows können Sie die Win32 :: Console-Modul verwenden. ein Objekt für die Ausgabe nach dem Erstellen Dateihandle Sie beeinflussen möchten, rufen Sie die Cls-Methode:

use Win32::Console; 

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

Wenn Sie ein Kommandozeilen-Programm haben, das die Arbeit erledigt, können Sie es in Backticks nennen zu erfassen, was es gibt so Sie können es später verwenden:

$clear_string = `clear`; 

print $clear_string; 
+0

'Win32 :: Console :: Cls 'gibt keinen Wert zurück, den Sie speichern können. –

+0

Wie würden Sie die Antwort in der Perlfaq ändern, um das zu berücksichtigen? –

+0

Ich habe diese Antwort bearbeitet. –

6

Unter OS X und Linux, können Sie den folgenden Perl-Befehl:

system("clear"); 

Sie wissen nicht, was das Äquivalent un ist der Windows.

Edit: Windows-Äquivalent ist:

system("cls"); 
+0

groß, 10x .... –

Verwandte Themen